![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mooc C++
文章平均质量分 57
SKT allsunday
这个作者很懒,什么都没留下…
展开
-
6、C++ Mooc | 宏是什么macro?
当编译c++程序时,首先发生的是预处理器 阶段,实际上是个文本编辑阶段。最终得到的是一个可以送给compiler的文本。 自定义macro: 一般在visual studio 的项目属性中,选择所有配置,在c/c++选项里面选择预处理器,加上自己定义的宏,比如,Apple; 然后在cpp中可以利用, #ifdef Apple (do something) #else (do something) #endif 这个时候,Apple已经在预处理器里面定义,所以直接进入第一个()。 还有很多宏,比如__decl原创 2020-07-28 10:45:40 · 157 阅读 · 0 评论 -
5、C++ Mooc | 利用静态lib、动态lib
静态linking就是 直接把lib中使用到的代码全部 copy 到exe中; 动态linking就是 在runtime的时候把用到的lib 进行连接使用,(其中windows可以提供相应的接口,加载dll——dynamic link library) lib都是配合头文件使用,一般的函数声明放在头文件中,具体执行放在lib中,链接器会找到附加库目录中的附加依赖项,然后进行静态连接。 ...原创 2020-07-26 10:58:50 · 121 阅读 · 0 评论 -
4、C++ Mooc | 运算符和运算符重载
运算符实际上是函数,因为早先使用函数做运算不方便阅读,因此出现了运算符,本质是函数。 struct vector1{ float x,y; vector1(float x,float y) :x(x) y(y) {} vector1 Add(const vector1& other) const { return vector1(x+other.x , y+other.y); } //重载 vector1 operator+(const vector1 &oth原创 2020-07-26 10:16:24 · 89 阅读 · 0 评论 -
3、C++ Mooc | 智能指针(unique、shared、weak)
使用智能指针先包含#include 智能指针是一个unique 指针,是指向一块内存的指针,能自动free,但是不能两个unique指针指向同一个内存,因为当其中一个被destroy后,就free了,另一个就指向free的内存。 1、创建智能指针 int main(){ { std::unique_ptr<char> charactor(new char); std::unique_ptr<char> charactor=std::make_unique<char&原创 2020-07-26 00:00:42 · 115 阅读 · 0 评论 -
2、C++ Mooc |继承、虚函数、接口、visibility
一、继承 类之间的继承是 最基础的 。 继承可以给 不同的类 进行层次体系划分,换句话说,可以给一个包含公用函数的基础类,并创建它的一个子类。原创 2020-07-19 12:42:56 · 156 阅读 · 0 评论 -
1、C++ Mooc | C++工作原理
源文件经过编译器,可以产生lib 、dll、 exe 。 运算符<<就是函数而已,如下: std::cout<<" dump duck ! "<<std :: endl; 等价于 == std ::cout.print(" dump duck !").print(std ::endl); visual studio 中的solution 配置,是定义了如何为当前平台 编译的规则。 函数的声明与定义: 如果声明,没定义,那么就可以过编译,但是过不了linker 所以,lin原创 2020-07-16 14:17:03 · 220 阅读 · 0 评论