原文:C++: Strict Weak Ordering

想講講C STL中各種算法都用到的一個概念,Strict Weak Ordering。 舉個例子,來說明為什么寫C 要知道這個東西。 假如你定義了一個類型MyType,而且這個類型是可比的 comparable,定義了 lt 這個operator : 現在一個vector里裝着很多這種類型的對象,你想對這個 vector 排序: 之所以能用std::sort 來對任意類型排序,而不用給std::s ...

2016-06-05 18:20 1 3716 推薦指數:

查看詳情

C/C++ strict-aliasing

最近發現了一個奇怪的編譯參數-fno-strict-aliasing,好奇之下做了一點研究; 重點參考Understanding C/C++ Strict Aliasing; 所謂的aliasing就是多個變量指向同一塊內存,變量之間互為別名; strict-aliasing是一種 ...

Wed May 30 00:35:00 CST 2018 2 1440
c/c++ 智能指針 weak_ptr 使用

智能指針 weak_ptr 使用 weak_ptr用途: 1,解決空懸指針問題 2,解決循環引用問題 weak_ptr特點:沒有*操作和->操作 weak_ptr是不控制所指對象生存周期的智能指針,它指向由一個shared_ptr管理的對象。將一個weak_ptr綁定到一個 ...

Sat Sep 29 16:06:00 CST 2018 0 1287
c/c++中的__attribute__((weak))使用

main.cpp g_test.h g_test.cpp 輸出結果是調用到g_test.cpp中的testFunc函數中 如果g_test.cpp中沒有實現,則調用的__attribute__((weak))的函數 ...

Wed Sep 02 23:26:00 CST 2020 0 755
C++ 11 創建和使用共享 weak_ptr

1、為什么需要weak_ptr? 在正式介紹weak_ptr之前,我們先來回憶一下shared_ptr的一些知識。我們知道shared_ptr是采用引用計數的智能指針,多個shared_ptr實例可以指向同一個動態對象,並維護了一個共享的引用計數器。對於引用計數法實現的計數,總是避免 ...

Thu Jun 30 05:30:00 CST 2016 1 4941
C++智能指針 weak_ptr

C++智能指針 weak_ptr   weak_ptr 是一種不控制對象生命周期的智能指針, 它指向一個 shared_ptr 管理的對象. 進行該對象的內存管理的是那個強引用的 shared_ptr. weak_ptr只是提供了對管理對象的一個訪問手段.   weak_ptr 設計的目的 ...

Tue Oct 04 21:11:00 CST 2016 0 18873
c++——智能指針學習(shared_ptr和weak_ptr)

先看一個例子:Stark和Targaryen家族你中有我,我中有你。我們設計以下類企圖避免內存泄漏,使得析構函數都能調用到: #include<iostream> #includ ...

Sat Mar 30 00:32:00 CST 2019 0 1888
C++:智能指針-TR1的shared_ptr和weak_ptr使用介紹

(所有示例的運行,將#序號所在main()函數去掉序號即可,參考[url]http://www.codeguru.com/cpp/cpp/cpp_mfc/stl/article.php/c15361/[/url])#1 #2get() 返回對象指針use_count() 返回對象的引用 ...

Fri Apr 27 17:46:00 CST 2012 0 4622
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM