ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

从 C 到 C++:我的第一站(C++学习第一章)

从 C 到 C++:我的第一站(C++学习第一章) 今天开启学习C的第一课命名空间namespace的价值把代码中的标识符变量 / 函数 / 类名等限定在特定的作用域内比如命名空间、类、函数防止不同模块 / 文件里的同名标识符重叠导致的命名冲突也避免全局范围内的名字被随意覆盖namespace的定义定义命名空间需要使⽤到namespace关键字后⾯跟命名空间的名字然后接⼀对{}即可{}中即为命名空间的成员。命名空间中可以定义变量/函数/类型等namespace本质是定义出⼀个域这个域跟全局域各⾃独⽴不同的域内可以定义同名变量namespace可以嵌套定义项⽬⼯程中多⽂件中定义的同名namespace会认为是⼀个namespace不会冲突C标准库都放在⼀个叫std(standard)的命名空间中命名空间使用指定命名空间访问项⽬中推荐这种⽅式#includestdio.hnamespacernb{inta0;intb1;}intmain(){printf(%d\n,rnb::a);return0;}using将命名空间中某个成员展开项⽬中经常访问的不存在冲突的成员推荐这种⽅式usingrnb::b;intmain(){printf(%d\n,rnb::a);return0;}using展开命名空间中全部成员项⽬不推荐冲突⻛险很⼤usingnamespce rnb;intmain(){printf(%d\n,a);printf(%d\n,b);return0;}C输⼊输出是Input Output Stream 的缩写是标准的输⼊、输出流库std::cout 是 ostream 类的对象主要⾯向窄字符的标准输出流std::endl 是⼀个函数流插⼊输出时相当于插⼊⼀个换⾏字符加刷新缓冲区是流插⼊运算符是流提取运算符#includeiostreamusingnamespacestd;intmain(){inta10;doubleb3.14;charc[]abcd;couta bendlcendl;return0;}缺省参数缺省参数是声明或定义函数时为函数的参数指定⼀个缺省值缺省参数分为全缺省和半缺省参数全缺省就是全部形参给缺省值半缺省就是部分形参给缺省值。C规定半缺省参数必须从右往左依次连续缺省不能间隔跳跃给缺省值。voidFunc(inta0){coutaendl;}intmain(){Func();// 没有传参时使⽤参数的默认值Func(10);// 传参时使⽤指定的实参return0;}函数重载重载条件可以是函数参数顺序不一致类型不一致数量不一致返回值不同不能作为重载条件因为调⽤时也⽆法区分引用类型 引⽤别名 引⽤对象#includeiostreamusingnamespacestd;intmain(){inta0;// 引⽤b和c是a的别名intba;intca;// 也可以给别名b取别名d相当于还是a的别名intdb;d;// 这⾥取地址我们看到是⼀样的coutaendl;coutbendl;coutcendl;coutdendl;return0;}指针和引用的区别语法概念上引⽤是⼀个变量的取别名不开空间指针是存储⼀个变量地址要开空间引⽤在定义时必须初始化指针建议初始化但是语法上不是必须的引⽤在初始化时引⽤⼀个对象后就不能再引⽤其他对象⽽指针可以在不断地改变指向对象引⽤可以直接访问指向对象指针需要解引⽤才是访问指向对象sizeof中含义不同引⽤结果为引⽤类型的⼤⼩但指针始终是地址空间所占字节个数(32位平台下占4个字节64位下是8byte)指针很容易出现空指针和野指针的问题引⽤很少出现引⽤使⽤起来相对更安全⼀些
返回列表