| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> Eighth C++基础之C++与C语言的区别及细节 -> 正文阅读 |
|
[C++知识库]Eighth C++基础之C++与C语言的区别及细节 |
原文链接(点击原文链接获取更多学习干货): http://blog.bools.cn/archives/1335 C语言与C++在之前学习当中,我们知道C语言是面向过程的,而C++是面向对象的。 C++面向对象的三大特性,封装、继承、多态。 1.C++的输出打印和头文件的不同在C++当中,一般用#include<iostream>进行输入输出的头文件,而使用其他头文件时,比如<time.h>,在C++中一般写成<ctime>,就是在头文件关键词前面加c 示范:
"::"双冒号作用:双冒号作用域运算符,就是将变量或者运算符的作用域扩大,一般和namespace一块用。 2.namespace的使用namespace命名空间的主要用途是解决命名冲突问题,而namespace就是命名一个空间,或者我们理解为打开一个房间。而
一般在命名在全局变量当中,就是打开std这个房间,因为打开这个房间,cout和endl才能用。
namespace的基本使用,一般是用using namespace 空间名后,可以使用。 namespace的特点: 1.命名空间下可以放变量,函数,结构体,类
空间包含函数和结构体时,函数和结构体可以直接在定义中定义,函数可以在外部定义,结构体建议在内部定义,不过函数定义时要“::”双冒号是哪个空间的函数和结构体。 2.命名空间必须定义在全局作用域下
3.命名空间可以嵌套命名空间
4,命名空间是开放的,可以随时往命名空间中添加内容
同名的空间可以合并。 可以起别名
这里需要注意:在使用多个房间后,需要标明是哪个房间? 3.using的声明和编译指令
用using声明的话,需要注意避免二义性问题 二义性就是写了using声明之后,但编译器又有就近原则
二义性会使编译出错 4.C++比C语言增强的点1.全局变量检测增加
全局变量只能定义一次。? 2.函数检测增强,参数类型增强,返回值类型增强,函数调用参数检测增强定义函数时,被调用函数要表明参数,返回值等
3.类型转换检测增强
类型必须转换成同类型的 4.struct增强C++中的struct可以添加函数成员
而且使用的时候可以不加struct关键字
5.bool类型增强,C语言中没有bool类型bool类型只有真假,非0就是真,0为假,非0的值转为一。
6.三目运算符增强(重点)在C语言当中,三目运算符返回的是一个值,而C++当中返回的是一个变量。
?7.C++中const增强在C语言中,const修饰的是伪常量,而在C++中,const修饰的真常量,不可改变的,和#define有异曲同工之妙,所以,建议在后面的代码编译中,定义宏定义常量时,建议用const
const在C语言中是外部链接,C++中默认const是内部链接 就是说, const定义的变量在同一项目其他文件中,能用,C++中const只能在本文件中用 8.const分配内存情况1.const分配内存,取地址会分配临时内存
2.extern编译器也会给const变量分配内存3.用普通变量初始化const变量
4.自定义数据类型加const也会分配内存的
5.引用引用就是取别名
a的别名就是b。 2.引用必须初始化
3.对数组建立引用
4.引用其实就是利用起别名,操控空间引用必须引用一块合法的内存空间 不要返回局部变量的引用 引用的原理引用其实也会取到地址,所以用引用来当函数参数的话,会改变实参
?引用做返回数值引用做返回值时,函数可以直接当成变量
想要多次使用引用的返回值,要将e设置成静态变量
一般来说,引用必须要有合法的空间,所以,不能等于常量,不过,const可以让引用等于常量
经过const修饰的引用,一般当成常量来用,不会被改变,而在调用函数时,想要展示而不想改变实参的话,可以将函数参数用const修饰
? |
|
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 16:31:27- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |