C++11
helpdoc
这个作者很懒,什么都没留下…
展开
-
C++11 字符串与数字的转化
数字到字符串:内部调用sprintf()函数std::string to_string( int value );std::string to_string( long value );std::string to_string( long long value );std::string to_string( unsigned value );std::string to_stri...原创 2019-03-27 11:31:37 · 722 阅读 · 0 评论 -
std::remove_extent返回数组降低一个维度后的数据类型, std::rank返回数组维度, std::extent返回数组第一个维度的长度
std::remove_extent返回数组降低一个维度后的数据类型。不改变数据类型的限制属性(const, volatile, const volatile)一维数组降低到0维度;二维数组降低到一维数组;三维数组降低到二维数组;std::extent返回数组第一个维度的长度std::remove_all_extents返回数组的实际类型, int[] -> ...翻译 2019-05-10 23:33:05 · 1505 阅读 · 0 评论 -
C++11 constexpr
使用constexpr关键字的变量和函数要求程序在编译期间就知道变量的实际数值和函数的实际返回值并且是而不是在程序运行期间才知道实际数值。而且constexpr语句当中涉及的变量都是const属性的。constexpr比const要求更严格,const可以接受在程序运行期间赋值。constexpr变量:constexpr int conVal = 12; // 等同 const in...原创 2019-05-09 18:00:20 · 149 阅读 · 0 评论 -
c++ vector造成的内存泄漏
C++中的std::list, std::array, std::queue, std::map, std::set, std::vector, std::forward_list, std::multiset, std::multimap, std::stack, std::unorderd_map, std::unorderd_multimap, std::unorderd_set, std:...原创 2019-05-07 00:44:26 · 5100 阅读 · 0 评论 -
C++模板的几种写法
常规:tempate<class T>struct SName1{// statement};template<typename T>struct SName2{// statement};// 函数模板template<typename>void func(const T&){// statement}// ...原创 2019-05-05 22:53:59 · 1046 阅读 · 0 评论 -
C++11 NullablePointer
1、一种类似于指针的类,可以和std::nullptr_t对象比较2、满足: 相等比较(operator==) 默认构造 copy构造 copy赋值 析构 可以作为bool条件表达式使用。空值返回false,否则返回true 不抛出异常class nullPointer final{public: nullPointer(con...翻译 2019-05-05 01:41:04 · 235 阅读 · 0 评论 -
c++11 lambda表达式
lambda形式: [capture list](param list)->return_type { body } capture list: 捕获列表,只能是当前lambda表达式所在函数体的局部变量名,直接在body块使用。 param list : 函数参数,传参 return_type : 函数返回值类型,如果body只有一句return语句编译器可以自动...原创 2019-04-23 14:43:36 · 102 阅读 · 0 评论 -
std::move,std::forward;std::remove_reference
/** 引用折叠* A& & 折叠成 A&* A& && 折叠成 A&* A&& & 折叠成 A&* A&& && 折叠成 A&&*/template<class _Ty>struct remove_reference{...翻译 2019-04-22 23:52:50 · 617 阅读 · 0 评论 -
C++ shared_ptr
允许多个shared_ptr对象通过引用计数器管理同一块堆内存。堆内存释放条件: 引用计数器为0时,在shared_ptr析构函数中释放堆内存 调用成员函数operator=或者reset被其他指针替代时线程安全性: shared_ptr并不是所有的操作都是线程安全的,访问非const函数依然会发生数据竞争。 C++11提供了std:atomic_is_lock...翻译 2019-05-11 19:53:24 · 779 阅读 · 0 评论