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

发布时间:2026/10/5 13:04:38
从 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)指针很容易出现空指针和野指针的问题引⽤很少出现引⽤使⽤起来相对更安全⼀些

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询