![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++随想记录
鱼儿冒个泡
这个作者很懒,什么都没留下…
展开
-
【C++ 随想记录】指针小回顾
int a1;int* a2 = new int;int* a3 = new int(); //相对前者表示指向的堆中数据处理,为0; 很多编译器已经不做区分cout << sizeof(a1); // 4cout << sizeof(a2); // 8int* a = new int[4];cout << a; //假设为1040cout << a + 1; // 1048 //a 往后挪动 到堆中数组的原创 2021-08-06 11:43:00 · 74 阅读 · 0 评论 -
【C++ 随想记录】do-while妙用
1、宏定义#define OPT ++a; ++b;int a = 1, b = 1;if (0) OPTcout << a << " " << b; //输出 1 2//注意a后面的分号//为了解决该问题,除了if语句添加花括号,还可以用do-while语句#define OPT do{++a; ++b;} while(0); 2、消除繁多的return语句int foo() { if(case 1) return 1;原创 2021-06-03 17:14:17 · 58 阅读 · 0 评论 -
【C++随想记录】指针的值和地址
int i = 42;int* p = &i;cout << p << " " << &p << endl;//先输出的p是指针的值,即其指向的i的地址//后输出的&p是对指针p取地址,即指针p的地址原创 2021-05-19 11:09:55 · 178 阅读 · 0 评论 -
【C++ 随想记录】string对象长度不算上尾部的‘\0‘
如题原创 2021-05-01 21:58:20 · 455 阅读 · 0 评论 -
【C++随想】一个与类中数组的大小有关的问题
写矩阵快速幂的类时class Matrix { /* static */ const int N = 15; //把static注释掉 int a[N][N]; //出现错误提示:非静态成员引用必须与特定对象相对};不太理解为什么类中数组的大小要用静态常量对象。在一个C++交流群问了这个问题,有指出:不用静态常量的话这个数组的大小就不是编译期间确定,而是变成动态分配了。不能完全理解,等到再仔细学完动态内存分配时回来更新。。。...原创 2021-04-14 22:16:12 · 141 阅读 · 0 评论 -
【C++随想】位运算优先级
今天写归并排序,二分时用了位运算,结果总是出bug:stack overflow找了半天才发现原因int mid = left + (right - left)>>1; //错!>>优先级在+后面int mid = left + ((right-left)>>1); //正确int mid = left + (right-left)/2; //正确查了一下(1)、移位运算符在乘除加减后面,在比较运算符前面(2)、按位与、或、异或在比较运算符后面,在逻原创 2021-04-07 10:38:34 · 2015 阅读 · 0 评论 -
【C++随想】探索const vector<int> 和vector<const int>区别
const vector<int>a = {1,2,3,4,5};vector<const int>b = {1,2,3,4,5};a[0] = 6; //错误:表达式必须是可修改的左值b[0] = 6; //错误:表达式必须是可修改的左值b.push_back(6); //正确a.push_back(6); //错误:没有与参数列表和对象匹配的重载函数总结:const vector是整个向量不能改动,包括不能修改元素,添加、删除元素;而vector是向量已有原创 2021-04-06 17:08:42 · 2121 阅读 · 2 评论