| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> 基本认识C++ -> 正文阅读 |
|
[C++知识库]基本认识C++ |
目录 hello world! 输入输出 &?命名空间使用命名空间全部展开
相比C语言在C++中输出可以被自动识别类型 ????????可以看出在一些场合中C++的输出方式更加方便,但在一些情况下(比如控制打印浮点数后面几位小数,C++就比较麻烦),C++并没有C中的方便因此,遇到这种情形时可以结合这C的写法都是可以的。 哪个方便就用那个嘛。
命名空间直接展开使用 下面一种方式同样也可以,并且相对上面的方式下面这种方式更安全,但是明显这样写会比较麻烦 命名空间部分展开? 推荐这种写法(不用全部展开 -- 但在一些日常学习与练习中,为方便可以直接全部展开)
分步解析 1.std -- 标准库(在C++中,把我们使用的库函数都封装在了一个命名空间之中 -- 就是std里面)
????????打个比方就是:命名空间就是一堵高墙把里面的东西都围起来了,外面的调用查找都看不到它,而using namespace std 就是把高墙拆掉了,但显然就失去了原先命名空间的作用 2. :: -- 域使用,与命名空间相呼应
? 命名空间 3.1命名空间 -- 当程序代码不断的增多,难免会定义一个相同的变量(重定义),为避免这种情况的发生,C++中有了命名空间这一手段.
解析:这里函数名就是函数的地址,并且并没有使用定义的命名空间,所以打印出来的是地址(X64环境下)。还有一点要注意的是,在程序编译的过程中,会把头文件展开(所以rand可以向上被找到),但是在我没有指定使用命名空间的时候它并不会去里面找那个变量。 ps:这些变量存放在静态区,是全局变量哦? 原因:这里的变量不影响变量的生命周期 3.2 -- 函数也可以放在命名空间中 ?????????我们到现在就可以发现,其实基本上都可以放在命名空间里面,这样就可以很好的弥补C语言里面因为命名相同而产生的各种bug,方便了大型程序的开发。 ? ? ? ? ps:还有一个需要注意的时,同名的同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中。 (.h文件在编译器编译的时候就会展开,相当于在同一个文件下) ? 缺省参数缺省参数概念
? ?
注意:如果生命与定义位置同时出现,恰巧两个位置提供的值不同,那编译器就无法确定到底该用那个缺省值 解释:当一个函数声明在声明文件(通常在大型的程序中,声明与实现会分离)中, ? 函数重载
? 缺省函数的二义性第一种情况? -- 无法区分
第二种情况 -- 参数顺序不同 ? ? 第三种情况? -- 返回值不同 ? ? 关于为什么可以函数重载
采用
C
语言编译器编译后结果
? 结论:在linux下,采用gcc编译完成后,函数名字的修饰没有发生改变。 采用C++编译器编译后结果? ?
结论:
在
linux
下,采用
g++
编译完成后,函数名字的修饰发生改变,编译器将函数参
数类型信息添加到修改后的名字中。
? 结束语
|
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 13:05:39- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |