首页 > 编程语言 >C++问题汇总——长期更新

C++问题汇总——长期更新

时间:2022-09-28 16:38:12浏览次数:53  
标签:容器 自定义 迭代 汇总 更新 C++ 模块 函数指针

  1. 避免使用vector<bool>,尽量使用bitset或者deque<bool>

    因为vector<bool>不是容器,底层是bool值按bit存储

  2. STL list容器数据结构上看是带空头的双向循环链表

  3. 容器迭代器要注意迭代器失效问题,insert/erase后要及时更新迭代器

  4. auto_ptr不能管理数组对象、自定义对象;应该使用C++11中的智能指针加自定义删除器

    unique_ptr<char, function<void(char*)>> uniPtr(new char[100], 
    	[](char *p)->void {    // 返回值为空,可省略
    		delete []p;
    	}	
    );
    
    // make_unique 不支持自定义删除器
    
  5. 为什么 C++ 有了函数指针还要引入std::function?

    函数指针指向的是代码段中的一段代码,不具备捕捉上下文的能力,当一个回调传入需要模块A中定义的函数和模块B的运行产生的数据一起传递给C模块来调用时,单纯的函数指针不够用。

标签:容器,自定义,迭代,汇总,更新,C++,模块,函数指针
From: https://www.cnblogs.com/Cycas/p/16738554.html

相关文章