国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

網(wǎng)站如何提高權(quán)重做百度推廣怎么做才能有電話

網(wǎng)站如何提高權(quán)重,做百度推廣怎么做才能有電話,做網(wǎng)站銷售怎么開發(fā)客戶,怎么做網(wǎng)站實惠在 C 11 STL 容器中,push/insert > emplace 新的方法,push 和 emplace 的區(qū)別在于: 1. push push 通常用于將一個元素添加到容器的末尾(在 std::vector、std::deque 等序列容器中),或者在關(guān)聯(lián)容器中插入…

在 C++ 11 STL 容器中,push/insert => emplace 新的方法,push 和 emplace 的區(qū)別在于:

1.?push

??push 通常用于將一個元素添加到容器的末尾(在 std::vector、std::deque 等序列容器中),或者在關(guān)聯(lián)容器中插入一個鍵值對(如 std::mapstd::set)。

std::vector<int> vec;
vec.push_back(10);  // 將 10 添加到 vector 的末尾

???????對于關(guān)聯(lián)容器(如 std::map),push 可能是 insert 的一種實現(xiàn):

std::map<int, std::string> m;
m.insert({1, "one"});  // 插入鍵值對

2.?emplace

? emplace 是 C++11 引入的一個新方法。它的主要優(yōu)點是在容器中直接構(gòu)造元素,而不是先構(gòu)造好對象再將其插入到容器中。這可以避免不必要的復(fù)制或移動操作,從而提高效率。

std::vector<int> vec;
vec.emplace_back(10);  // 直接在 vector 的末尾構(gòu)造 10

???????對于 std::mapstd::setemplace 會通過傳遞構(gòu)造函數(shù)的參數(shù)直接構(gòu)造元素(鍵值對),避免了額外的復(fù)制或移動操作:

std::map<int, std::string> m;
m.emplace(1, "one");  // 直接在 map 中構(gòu)造鍵值對

主要區(qū)別:

  1. 元素構(gòu)造方式

    • push:需要先構(gòu)造元素,然后將它添加到容器中。
    • emplace:直接在容器內(nèi)部構(gòu)造元素,避免了額外的拷貝或移動。
  2. 性能

    • emplace?在某些情況下可以比?push?更高效,因為它避免了不必要的臨時對象創(chuàng)建和拷貝。
    • 對于簡單類型(如?int),這兩者差別不大,但對于復(fù)雜類型,emplace?可能會帶來性能上的優(yōu)勢。
  3. 使用的場景

    • push?更常見于將已有對象添加到容器中,尤其是當元素類型比較簡單時。
    • emplace?更適合在容器中直接構(gòu)造復(fù)雜對象,尤其是在對象構(gòu)造涉及多個參數(shù)時。

總結(jié):

  • push?是將已經(jīng)構(gòu)造好的元素添加到容器中。
  • emplace?是直接在容器中構(gòu)造元素,避免了多余的復(fù)制或移動,通常能帶來更好的性能。

在需要頻繁插入復(fù)雜對象時,emplace 通常是更優(yōu)選擇。

代碼驗證:

class Test
{
public:Test(int a){std::cout << "Test(int)" << std::endl;}Test(int a, int b){std::cout << "Test(int, int)" << std::endl;}Test(const Test& t){std::cout << "Test(const Test&)" << std::endl;}Test(Test&& t){std::cout << "Test(Test&&)" << std::endl;}
};int main()
{Test t1(10);std::vector<Test> v;v.reserve(100);std::cout << "==========================" << std::endl;// 直接插入對象,兩個是沒有區(qū)別的v.push_back(t1);v.emplace_back(t1);std::cout << "==========================" << std::endl;// 直接插入對象,兩個是沒有區(qū)別的v.push_back(Test(20));v.emplace_back(Test(20));std::cout << "==========================" << std::endl;// 給emplace傳入Test對象構(gòu)造所需的參數(shù),直接在容器中進行構(gòu)建即可v.emplace_back(20);v.emplace_back(30, 40);
}

emplace 代碼實現(xiàn):

// 實現(xiàn)容器的空間配置器
template<typename T>
struct MyAllocator
{T* allocate(size_t size){return (T*)malloc(size * sizeof(T));}template<typename... Types>void construct(T* ptr, Types&&... args){new (ptr) T(args...);}
};template<typename T, typename Alloc = MyAllocator<T>>
class vector
{
public:vector(): m_vec(nullptr), m_size(0), m_idx(0){}// 預(yù)留內(nèi)存空間void reserve(size_t size){m_vec = m_allocator.allocate(size);m_size = size;}// push_backvoid push_back(const T& val){m_allocator.construct(m_vec + m_idx, val);idx++;}void push_back(T&& val){m_allocator.construct(m_vec + m_idx, std::move(val));idx++;}template<typename... Types>void emplace_back(Types&&... args){m_allocator.construct(m_vec + m_idx, std::forward<Types>(args)...);m_idx++;}private:T* m_vec;int m_size;int m_idx;Alloc m_allocator;
};

http://aloenet.com.cn/news/43698.html

相關(guān)文章:

  • 響應(yīng)式網(wǎng)站建設(shè)效果迅雷下載磁力天堂
  • 萬網(wǎng)個人網(wǎng)站備案查詢東莞今天的最新通知
  • 有關(guān)做聚合物電池公司的網(wǎng)站網(wǎng)站優(yōu)化外包推薦
  • 如何再國外網(wǎng)站做折扣什么是seo?
  • 中關(guān)村在線官方網(wǎng)站電腦首頁關(guān)鍵詞排名
  • 愛站網(wǎng)排行榜武漢抖音seo搜索
  • 網(wǎng)站設(shè)計app微信推廣方式有哪些
  • sf網(wǎng)站怎么建設(shè)網(wǎng)站被禁用如何解決
  • 佛山網(wǎng)站建設(shè)策劃網(wǎng)站推廣模式
  • 自動化培訓(xùn)網(wǎng)站建設(shè)網(wǎng)絡(luò)營銷到底是干嘛的
  • 網(wǎng)站建設(shè)大概費用怎么建網(wǎng)站賺錢
  • 做h5頁面有哪些好網(wǎng)站廣州競價外包
  • 網(wǎng)站的運行與維護艾滋病阻斷藥有哪些
  • 建站寶盒開通百度seo培訓(xùn)班
  • 網(wǎng)頁游戲傳奇霸業(yè)攻略搜索引擎優(yōu)化的英語簡稱
  • 微商軟件商城24小時整站排名優(yōu)化品牌
  • 政務(wù)網(wǎng)站隊伍建設(shè)情況匯報怎么免費創(chuàng)建個人網(wǎng)站
  • 阿里云 多域名解析 到不同的網(wǎng)站網(wǎng)站的友情鏈接是什么意思
  • 建筑公司網(wǎng)站廣告宣傳語重慶 seo
  • 鎮(zhèn)江網(wǎng)站優(yōu)化哪家好百度推廣要自己建站嗎
  • 手機怎樣設(shè)計網(wǎng)站建設(shè)seo關(guān)鍵詞推廣
  • WordPress插件后天怎么編寫青島谷歌seo
  • 大型電子商務(wù)網(wǎng)站建設(shè)郴州網(wǎng)站定制
  • 番禺人才網(wǎng)官網(wǎng)單位招考關(guān)鍵詞優(yōu)化公司推薦
  • 網(wǎng)站頁面設(shè)計需求網(wǎng)絡(luò)推廣官網(wǎng)首頁
  • 網(wǎng)頁與網(wǎng)站的關(guān)系互聯(lián)網(wǎng)廣告代理可靠嗎
  • 做網(wǎng)站江門天津百度seo排名優(yōu)化
  • wordpress5.2.2下載seo有哪些經(jīng)典的案例
  • 鎮(zhèn)江百度競價南昌seo管理
  • 門戶網(wǎng)站開發(fā)要多久深圳seo優(yōu)化推廣公司