首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
C++学习笔记
柠檬树上柠檬果
创建于2024-01-18
订阅专栏
个人学习C++的一些笔记
暂无订阅
共10篇文章
创建于2024-01-18
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
c++线程池
什么是线程池? 当我们遇到耗费时间的任务却又不想主线程阻塞在这里,就可以考虑使用多线程提高效率。c++11的thread为多线程提供了支持。线程在std::thread对象创建时启动,需要传入一个函数
C++——动态内存
动态内存 C/C++程序的数据内存分区包括: 全局内存区:包括全局变量和静态变量; 堆内存区:通过maloc和new动态申请的内存,都是堆内存; 栈内存区:函数调用时传递的参数和函数中的局部变量。 1
C++转型
C++11提供了四种模板类用来转型。 1. const_cast 它可以改变常量属性,将常量指针/应用/对象转化为非常量对象。它发生在编译器。 2. static_cast 它用于一些常见类型的转换,
C语言实现面向对象编程
面向对象的三大基本特性就是:封装、继承和多态。我们挨个实现: 封装 封装就是把数据打包到一个类里面,并对不同的数据提供不同的访问权限。在C语言下打包数据还是很容易的。C标准库中的fopen()、fre
《effective C++》笔记
effective C++ 1. 视C++为一个语言联邦 C++包括C的基本内容,面向对象,模板编程和STL。 2. 尽量以const, enum, inline替换#define 对于单纯常量,最好
C++拷贝、赋值和销毁
如果在构造函数中,采用赋值初始化某个变量,并且参数和变量名一样,会某些情况下出现赋值失败的情况。 1. 拷贝构造函数 如果一个构造函数的第一个参数是自身类类型的引用,且任何额外参数都有默认值,则此构造
C++单例模式/饱汉式/饿汉式/返回指针/引用
单例模式就是某个类只可以有一个对象/实例,所以我们需要将它的构造函数设置为私有,通过一个函数来返回对象。但我们知道,调用成员函数必须通过对象调用,这就陷入了一个先有鸡还是先有蛋的问题。故我们可以通过静
详解C++模板的实参推断和move/forward
左值和右值 左值就是可以取地址的值,而右值包括两种:将亡值(使用move转化而来)和临时变量。无论是将亡值还是临时变量,我们可以放心的使用移动语义来“窃取”它们的资源,从而避免了拷贝/析构的开销。 在
C++智能指针
由于C++是需要程序员手动管理内存,在大型项目中很容易发生对忘记释放资源或者对已经delete的指针再次删除。即使开发人员成对的使用了new/delete,也有可能中间的代码发生异常,而调用delet
C++11 条件变量和互斥锁
条件变量总是与互斥锁配合使用的。这是因为互斥锁可以保证不同的线程对共享变量的互斥访问,而多个线程在同步的时候,我们是需要根据某些条件值来决定是否阻塞当前线程的,并且查看/修改某个变量这个操作必须是互斥