
C++学习
qq_29517403
无123
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
volatile
https://blog.youkuaiyun.com/tigerjibo/article/details/7427366编译器优化: 由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度。以上是硬件级别...原创 2020-03-09 21:21:53 · 105 阅读 · 0 评论 -
c语言编译过程
预处理、编译、汇编、链接gcc -E hello.c -o a.cgcc -S hello.c -o a.sgcc -c hello.c -o a.ogcc hello.c -o a对于hello.c文件#include <stdio.h>#include <stdlib.h>#define num 10000int main(){ ...原创 2020-03-07 20:10:20 · 202 阅读 · 0 评论 -
new和malloc的区别
C语言提供了malloc和free两个系统函数,完成对堆内存的申请和释放。而C++则提供了两个关键字new和delete;new/delete是关键字,效率高于malloc和free。配对使用,避免内存泄漏和多重释放。避免交叉使用,比如malloc申请空间delete释放,new出的空间被free。new/delete 主要是用在类对象的申请和释放。申请的时候会调用构造器完成初始化...原创 2020-02-17 22:21:13 · 146 阅读 · 0 评论 -
c语言中堆和栈的区别
内存中的栈区处于相对较高的地址,以地址的增长方向为上的话,栈地址是向下增长的中分配局部变量空间,堆区是向上增长的用于分配程序员申请的内存空间。另外还有静态区是分配静态变量,全局变量空间的;只读区是分配常量和程序代码空间的;以及其他一些分区。int a = 0; 全局初始化区 char *p1; 全局未初始化区 main() { int b; 栈 char s[]...原创 2020-02-17 21:54:41 · 1176 阅读 · 0 评论 -
sizeof
sizeof是运算符,是一个编译时运算符,用于判断变量或数据类型的字节大小。可用于获取类、结构、共用体和其他用户自定义数据类型的大小。在判断类型的大小的时候,必须加括号;在判断变量的大小的时候,不需要加括号。int a = 0;sizeof int; //错误,不允许使用类型名cout<<sizeof (int)<<'\n'; //...原创 2020-02-17 21:34:09 · 682 阅读 · 0 评论 -
const
const关键字用来表示常量,任何修改常量的尝试都会导致编译失败,因此在定义的时候必须进行初始化。const修饰变量表示该变量为常量,不能被修改。默认为文件的局部变量。//file1.c//const int a = 500;//1 会报错extern const int a = 500;//2//main.cextern const int a;int main()...原创 2020-02-17 21:32:56 · 116 阅读 · 0 评论