C++学习笔记(持续更新中) - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 技术分享 >

C++学习笔记(持续更新中)

发表时间:2020-10-19

发布人:葵宇科技

浏览次数:45

学习笔记

—2020.10.19—

1.main函数前加上数据类型原因

main函数的返回值返回给主调进程,一般情况下定义为int,并默认返回值为0时程序运行无错误,但是这一规定并非强制的。如果程序的运行结果不重要或者程序员不需要知道返回值,如所有的出错信息都已经在程序中有所体现,则可以省略返回值。在一些要求不严格的编译器比如VS、VC中可以把main定义为void,但是在一些比较严格的编译器中比如g++中则需要把main返回值定义为int。

2.int main()与int main(void)区别

int main()与int main(void)等价,但是前者表示对是否传入参数处于沉默状态,也就是说传不传参数都可以,而后者void表示不可以传入参数。

3.命名空间namespace

为什么要用命名空间,是因为有些名字可能会冲突,用命名空间解决这个问题。std是c++标准命名空间,是编译器自带的,如果达不到自己想要的效果,也可以自己定义一个mystd,用来输出。例如mystd::cout。

4.define 与 typedef

前者是在宏定义中,发生在预处理阶段,只是进行简单的字符串替换,不会进行检测,后者是发生在编译阶段,会进行数据类型检测。并且前者没有作用域的限制,后者有作用域的限制。

5.extern

首先我们要了解一个知识点,那就是一个变量可以申明很多次,但是只能定义一次。extern作用就是声明一个变量,比如extern int a;这条语句只是告诉程序有一个变量a,为int类型,但是没有为变量a开辟存储空间,只有在定义时才会给其分配空间:int a=10;这条语句定义了a=10。

6.static小计

首先我们看一下空间分配方式:全局变量、全局静态变量、局部静态变量储存在静态储存区,而局部变量则储存在栈里。一般情况下,一个全局变量被声明定义之后,如果存在多个源文件,那么在其他源文件也可以引用该变量,不过要先声明。而用static关键字修饰的变量,只在该源文件可被使用,也就是说其他源文件可声明定义相同名称变量,但是不能在未定义生声明情况下使用,即此时变量作用域为文件作用域,其他文件访问不了。static全局变量:改变作用范围,不改变储存位置;static局部变量:改变储存位置,不改变作用范围。

7.const小计

从右向左读;例如

char * const cp; ( * 读成 pointer to ) 
cp is a const pointer to char 

const char * p; 
p is a pointer to const char; 

char const * p; 

const放在“*”左边,表示指针所指对象是只读的,也就是说可以改变指针的地址,但是里面保存的值不可改变;const放在 “*”右边,表示指针本身是只读的,指针地址不可更改,但是里面内容可以更改。

8.const与static

const定义的常量在超出其作用域时空间会被释放,而static定义的静态变量在函数执行之后也会保存在静态储存区,不会被释放,直至程序结束。

相关案例查看更多