
c++
JefferyDing
这个作者很懒,什么都没留下…
展开
-
C++ vector 迭代器失效原因
众所周知,vector在内存中是顺序存储的,那么当vector的长度增加时,也就是往里面继续pushback新的数据,当前块的内存不够,vector不得不重新申请一块新的更大的内存,然后把之前的数据复制过来,再插入新的数据。 为了验证这个可以看看下面的测试代码:#include<iostream>#include<vector>using namespace std;int main() {原创 2016-12-04 14:59:09 · 5201 阅读 · 2 评论 -
《深入理解C++11》阅读笔记
C++11原创 2016-11-22 23:18:13 · 1316 阅读 · 0 评论 -
C/C++函数参数读取顺序
转载自http://www.cnblogs.com/easonliu/p/4224120.html说到C/C++函数参数读取顺序,很多人都知道在入栈时是从右至左的,可是真的有那么简单吗?先看一个例子:1 #include 2 3 int main() {4 int a = 10;5 printf("%d %d %d\n", a++, ++a,转载 2017-03-02 11:05:50 · 899 阅读 · 0 评论 -
笔试题:各种指针类型总结
float(**def)[10] def是一个二级指针,它指向的是一个一维数组的指针,数组元素是floatdouble* (* gh)[10] gh是一个指针,它指向一个一维数组,数组元素都是double*double(* f[10])() f是一个数组,f有10个元素,元素都是函数指针,指向的函数都是没有参数且返回doubleint* ((* b)[10]) 与(2)相同Int...原创 2017-03-03 10:16:43 · 371 阅读 · 0 评论 -
C++ const 机制
我们都知道const是为了防止程序对所定义的变量或者其他对象进行修改,被const修饰的那个变量也就变成常量,但是我们都知道可以用指针来修改。比如下面的代码:int main(){ const int a = 10; int *ptr2 = const_cast<int*>(&a); *ptr2 = 20; cout << a << endl;}这时如果输出a,按道原创 2017-03-03 19:01:35 · 377 阅读 · 0 评论 -
解决visual studio回车键代码补全
—– 更新 ——– 直接在VS里面可以自定义 工具->选项->文本编辑器->C/C++->高级 把下图中的改为true ———- 原文 —— 相信很多人在用vs时,总觉得有一点特别不方便,那就是每当代码提示一出来,于是按下回车键,然而代码却没有补全,光标却跳到了下一行。其实这个问题安装一个插件就好了,它就是的Visual Assist下载地址:http://www.wholetomato.原创 2015-09-26 20:42:09 · 16054 阅读 · 2 评论 -
C++的四种转型小结
static_caststatic_cast应该是适用范围最广的,适用于很多隐式转换,基类指针与子类指针的相互转换,或者添加const属性,去掉const属性应该用const_castdouble a = 10.23;int b = static_cast<int>(a);Base *ptr = new Child();Child ptr2 = static_cast<Child*>(ptr)原创 2017-03-03 20:47:40 · 1456 阅读 · 0 评论