代码改变世界

C++日拱一卒

2021-11-29 16:38  cascle  阅读(43)  评论(0编辑  收藏  举报

2021.11.29

  • inline最新含义:不再是告诉编译器不要生成函数实体直接优化为代码,而是在头文件里定义的函数体可以被include到多个不同的cpp文件,最后只是随机选择生成的一份实体。用static更好,虽然会更大每个文件带一份,但不会有不同宏定义导致代码不同的问题
    • https://www.zhihu.com/question/311420548/answer/593266466
  • libc++与libstdc++是什么关系:libc++是clang编译器带的,libstdc++个是gcc带的
    • https://www.zhihu.com/question/343205052/answer/816884998
  • typename额外用法:模板里告知编译器一个类型是在其他模板里typedef的,延迟推断
    • https://blog.csdn.net/myan/article/details/1901:

 

2021.12.28:

新C++初始化例图:

https://pic1.zhimg.com/80/v2-d44d2ad4f4b8382ed4d3e44d765514c3.png

 

2022.01.20:

仅当const参数是一个引用或指针时,C++才允许基于const类型进行函数重载。详情可参考本系列 第2篇

这条规则是有意义的。本例子中,参数i按值传递,所以fun()中的i是main()中的i的一个拷贝。因此fun()无法修改main()中的i。因此,无论i是做为一个const参数或正常参数,都没有什么区别。
如果是按引用或指针传递,则我们可以修改引用或指针所代表的对象的值,因此,这两个函数相当于实现了不同的版本。其中一个可以修改引用或指针的值,另一个不能。

https://blog.csdn.net/shltsh/article/details/45939977

https://blog.csdn.net/shltsh/article/details/45938663