
C++
文章平均质量分 77
夏夜桑落
这个作者很懒,什么都没留下…
展开
-
C/C++编译过程
C/C++编译过程 面阿里,被问到这个问题。之前从来没有仔细看过,结果回答漏了一个步骤。现在来这里补个课: 编译步骤:预处理、编译、汇编、链接。 预处理 从源文件到预编译文件 包含:#include #ifdef # define等的处理和替换 编译 从预编译文件到汇编代码 汇编 从汇编代码到目标文件 链接 将多个目标文件链接为可执行文件...原创 2018-07-23 19:26:15 · 133 阅读 · 0 评论 -
C++数组作为参数
C++里面把数组当参数这个知识点一直不是很清晰。这次把他明确化了。 非引用参数 非引用参数的情况还是比较简单的。 int compute(int array[4]); int compute(int array[]); int compute(int *array); // 编译器会把上面两个解释成这个 以上三种原型都会被编译器解释为指针,因此即使在数组定义里写了长度为4,依然可以传任意长...原创 2018-07-23 20:59:45 · 4584 阅读 · 0 评论 -
C++ Primer 阅读笔记--const、模板和重载
C++ Primer 阅读笔记 准备面试C++岗,把这本书翻出来查漏补缺一下。 const变量和const指针 之前学c的时候,觉得const貌似没啥用,只会增加很多限制。后来写了CUDA发现,const有时候是可以在编译期发现一些错误,还是很有用的。这次看了C++ primer plus,在const指针上发现自己不熟悉的一点,特此记下来。 const int *a,表示该指针指向的...原创 2018-07-18 19:46:44 · 224 阅读 · 0 评论 -
C++的sizeof大全
C++的sizeof是一个操作符,并不是一个函数。在C99引入动态数组之前,sizeof只有在编译期起作用。引入动态数组之后,sizeof有时也在运行时起作用。 数组的sizeof 数组的sizeof有以下几种情况: int a[10]; // sizeof = 40 int a[]={1,2,3,4,5,6}; // sizeof=24 int compute(int a[10]){si...原创 2018-07-26 21:23:00 · 173 阅读 · 0 评论 -
C++类的操作符重载&类型转换
这里总结一下C++里面类的操作符的重载以及类型转换的定义,作为对C++ Primer Plus第11章的总结。 操作符重载 通过操作符重载,可以直接定义两个类型之间的操作符(加减乘除等)。一个例子是: class Vector{ int x; int y; Vector (int x, int y); Vector operator+(const Vect...原创 2018-07-26 22:59:38 · 550 阅读 · 0 评论