
C/C++
THMAIL
这个作者很懒,什么都没留下…
展开
-
数组与指针的关系
数组与指针的关系咋一看,真的很让人头疼,但是仔细研读相关资料后再总结下,其实也并不是很复杂,大致如下:先定义个数组int array[3]={1,2,3};一个指针int *p;想象下,定义一个数组相当于在内存中开辟了三块连续的、可以分别存放三个整形的、占四个字节的空间,而常量array其实就是一个指针,指向第一个整形的地址(即&array[0]),array+1则指向第二个整形的地址原创 2017-03-03 21:23:48 · 507 阅读 · 0 评论 -
C++ const 和 constexpr 的区别
语义上:constexpr:告诉编译器我可以是编译期间可知的,尽情的优化我吧。const:告诉程序员没人动得了我,放心的把我传出去;或者放心的把变量交给我,我啥也不动就瞅瞅。语法上:constexpr是一种比const 更严格的束缚, 它修饰的表达式本身在编译期间可知, 并且编译器会尽可能的 evaluate at compile time. 在constexpr 出现之前, 可以转载 2017-03-28 10:28:15 · 6210 阅读 · 0 评论 -
constexpr与常量表达式(c++11标准)
常量表达式(const expression):是指值不会改变并且在编译过程中就得到计算结果的表达式。(运行中得到结果的不能成为常量表达式)。 const int i=3; //是一个常量表达式 const int j=i+1; //是一个常量表达式 int k=23; //k的值可转载 2017-04-04 17:19:17 · 565 阅读 · 0 评论 -
C/C++中关于函数调用结束后变量释放的问题
问题:#include int* fa();void main(){int *p=fa();printf("%d\n",*p);}int* fa(){int i=97;return &i;}我记得书上说过当函数调用结束后,函数中所定义的局部变量会全部被释放,也就是函数fa()中的变量i在调用结束后会被释放,为什么这里还能引用输出函数f原创 2017-04-05 13:57:31 · 14864 阅读 · 8 评论