随笔分类 -  C++11

摘要:hpp是为了少写点文件,如果玩不好,还是建议用 h和cpp ,因为很容易报重定义错误。 error:LNK2005 函数已经在*.obj中定义的一种解决办法_error lnk2005: 已经在 .obj 中定义-CSDN博客 在引用函数实现和定义在一体的.hpp头文件怎么解决报多重定义的问题_包含 阅读全文
posted @ 2024-06-29 17:05 夕西行 阅读(106) 评论(0) 推荐(0) 编辑
摘要:周期性地执行一段代码,while死循环+sleep是一种方式,但是精度在10ms以上。 while死循环里如果没有sleep,那么会单独占用1个CPU核(即CPU占用率很高)。 sleep即使设置为1ms(见下方代码),经示波器测试发现周期至少在10ms以上。 Sleep(1); //Windows 阅读全文
posted @ 2024-06-15 15:56 夕西行 阅读(543) 评论(0) 推荐(0) 编辑
摘要:1、下载boost 1.72.0,自Boost1.73后需要匹配C++14版本的编译平台了,对于VS2015下载1.73.0之前版本的boost库包均可 Boost Version History 2、解压后编译 打开下图cmd 进入解压目录中运行bootstrap.bat(进入到目录可以输入cd 阅读全文
posted @ 2024-04-21 15:29 夕西行 阅读(338) 评论(0) 推荐(0) 编辑
摘要:bind可以用成员函数来替代静态函数。 回调函数一般使用静态函数,其中需要传入具体对象的指针,然后该对象的成员变量或函数,都需要加上“对象指针->”这个前缀。 bind可以将成员函数用于回调函数。成员函数多了一个隐含的参数this,所以直接用作回调会报错,bind可以将this封装起来(可以理解为骗 阅读全文
posted @ 2024-02-27 17:49 夕西行 阅读(154) 评论(0) 推荐(0) 编辑
摘要:deque双向队列制造一种空间上元素连续的假象,是通过deque iterators双向队列迭代器。 上图中,有三个迭代器,start(iterator)、finish(iterator)、(iterator),每个迭代器有四个指针cur、first、last、node。 start(iterato 阅读全文
posted @ 2020-03-29 15:56 夕西行 阅读(322) 评论(0) 推荐(0) 编辑
摘要:C++11把Array、Forward-List、无序容器包装成了类。 C++标准库有sort排序函数,有的容器有自己的sort,有自己的,优先用自己的。 序列式容器(Sequence Container):Array数组(固定大小)、Vector向量(单向扩充)、Deque双向队列(两端扩充)、L 阅读全文
posted @ 2019-12-29 17:23 夕西行 阅读(148) 评论(0) 推荐(0) 编辑
摘要:std::array 除了有传统数组支持随机访问、效率高、存储大小固定等特点外,还支持迭代器访问、获取容量、获得原始指针等高级功能。而且它还不会退化成指针T *给开发人员造成困惑。 std::vector 向量容器,尾部单端扩容(容量不够,2倍扩容),所以只有push_back,没有push_fro 阅读全文
posted @ 2019-12-13 17:13 夕西行 阅读(622) 评论(0) 推荐(0) 编辑
摘要:定义时,带默认值的参数应后置 调用时,实参应前置 //void t1(int x, int y = 0, int z); //错误 void t2(int x, int y, int z = 0); void t3(int x = 0, int y = 0, int z = 0); //t3( , 阅读全文
posted @ 2019-12-12 23:58 夕西行 阅读(353) 评论(0) 推荐(0) 编辑
摘要::: 一元作用域解析运算符,局部变量与全局变量同名时,可以用来访问全局变量。 #include<iostream> using namespace std; int i{ 10 }; int main() { int i{ 11 }; cout << i << endl; //11 cout << 阅读全文
posted @ 2019-12-12 23:22 夕西行 阅读(275) 评论(0) 推荐(0) 编辑
摘要:宏定义:其实就是替换作用 #define TRUE 1 //结尾无分号,宏名TRUE,计算机会把所有TRUE替换为1. typedef:定义类的别名 tpyedef unsigned int UInt; //unsigned int类的别名UInt C++11中,用using来定义类的别名: usi 阅读全文
posted @ 2019-12-12 23:06 夕西行 阅读(237) 评论(0) 推荐(0) 编辑
摘要:*之前是指针指向的目标,*之后是指针本身的属性(即地址是否可变) const int* ptr1; // (1.) pointer to const int int const * ptr2; // (2.) same as 1. int* const ptr3; // (3.) const poi 阅读全文
posted @ 2019-12-12 20:19 夕西行 阅读(656) 评论(0) 推荐(0) 编辑
摘要:堆:由程序员分配、释放(new、delete)。推荐new出的内存,手动delete释放掉。 栈:编译器自动分配、释放。 全局/静态 区:全局变量、静态变量都在此区 常量区:常量在此区域,内容不可修改。该区只读不可写。如字面量 指针delete释放后,需要指向空地址。 阅读全文
posted @ 2019-12-12 18:39 夕西行 阅读(129) 评论(0) 推荐(0) 编辑
摘要:类型 变量名 { }; 或者 类型 变量名 = { }; 使用List Initialization (列表初始化)的好处,高精度变低精度,会提示错误。 int x1{ 1.123 };//提示错误 //int x1 = 1.123;//不提示错误,x1=1 常见类型写法如下: int x{};// 阅读全文
posted @ 2019-12-12 17:40 夕西行 阅读(380) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示