![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++入门
文章平均质量分 81
虚舟游梦
在校大学生,在进行c/c++的学习。
展开
-
auto(c++11)和nullptr(c++11)
C++11中,标准委员会赋予了auto全新的含义即auto不再是一个存储类型指示符,而是作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得。int*//inta前加上const,打印出来的是intconst*,intconst*和constint*是等价的,不同的是int*const。c++11是继c++98后的下一个大版本,c++11在vs编译器中是vs2011以后的版本支持,以前的版本支持的不全。NULL和0的赋值方式,严格来讲是不规范的。......原创 2022-07-21 21:48:59 · 329 阅读 · 0 评论 -
c++内联函数
原因在于在f.h中只有函数的声明,没有函数的实现,所以在编译时,没有办法展开,只能通过连接来处理。inline终究是内联函数,不优化也保持了一定的内联函数性质,也就是说,debug版本下内联函数支持调试,但是符号表中没有内联函数的标识符,也就不支持定义和声明分开。概念以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数压栈的开销,内联函数提升程序运行的效率。当我们频繁调用短小函数时,就会使用内联函数。这就是内联函数的意义,解决宏函数机制复杂,容易写错的问题。.....原创 2022-07-21 21:48:22 · 2170 阅读 · 0 评论 -
c++引用
可以调试一下,b引用的是中间的临时变量,b的地址和a的地址是不一样的。原因在于返回的是c的引用,也就是说ret的值是add函数中c的那块空间所对应的值。如果constint&y=x前没有const,y引用x时,前面没有const,可以对x值进行修改,权限从只读到可修改可读取,权限放大,语法报错。而指针和引用是可以影响对象的。在书写上可以节省一点时间,在功能上产生优化(比如不需要对参数开辟空间了,以及其他的方面的优化,引用传参比普通传参的效率高很多很多,和指针传参的效率差不多,在其他方面比指针更优).....原创 2022-07-17 12:36:02 · 258 阅读 · 0 评论 -
c++函数重载
函数重载与C语言不同,c++的函数名是可以相同的,只要参数不同就可以。可以是类型,个数,顺序,只要一样不同就可以。顺序是指类型顺序。函数重载和返回值没有关系。因为调用的时候无法识别返回值。c++函数名可以相同的关键就在于函数重载。这个和之前命名空间防止命名冲突又不一样。下面讲一下c++是如何支持函数重载的。......原创 2022-07-13 22:19:06 · 741 阅读 · 0 评论 -
c++输入输出+缺省参数
c++输入输出不同于C语言的输入输出,C语言的输入输出要指定类型,scanf("%d", &a);printf("%d", a);c++的输入输出:int a = 0;cin >> a;//>>是流提取操作符,等价于C语言的scanf("%d", &a);这行代码的官方说明叫流提取cout ......原创 2022-07-11 22:26:38 · 464 阅读 · 0 评论 -
c++命名空间
c++中经常会包含的一个文件是#include,用来打开默认的输入输出流,等价于C语言中的#include。其次经常会看到的就是using namespace std;这是接触到的第一个c++关键字namespace。意为命名空间。具体作用是来解决C语言的不足。先来看看C语言中的一个问题:命名冲突#includeint rand = 1;//变量的命名是不能和关键字一样的,示例:不能定义一个变量名为int的变量。int main(){ pr......原创 2022-07-09 22:20:36 · 426 阅读 · 0 评论