C++语言对C语言的扩充
1.新的数据类型bool
2.新的变量初始化方法,int x(1024);等价于int x = 1024;
3.变量随用随定义
4.IO方法,不用关注占位符,不用关注数据类型,不易出错。下面的几幅图展示了这种区别。
5.命名空间namespace
目的:解决标识符冲突,相当于Java中的package
6.引用类型
1)普通变量的引用
int a = 3;
int &b = a; // 引用必须初始化,且初始化以后不能再改变,其本质是常指针
b = 10;
效果:a与b指向同一块内存空间,a的值变成了10
2)结构体的引用
typedef struct{
int x;
int y;
}Point;
Point p1;
Point &p = p1;
p.x = 10;
p.y = 20;
cout<<p1.x<<p1.y<<endl;
结果:10 20
3)指针类型的引用
int a = 10;
int *p = &a;
int *&q = p;
*q = 20;
cout<<a<<endl;
结果:a = 20
7.const关键字
1)const与基本数据类型
const int x = 3;
x = 5; // 错误,x不可改变
2)const与指针类型
const int *p = NULL;等价于int const *p = NULL;
int *const p =NULL;
此时const还有各种用法,个人感觉这块C++太麻烦了!各大IT公司笔试老是喜欢这么搞!
const char *pc = "abcd"; // 声明指向常量的指针变量pc,它指向一个字符串常量
pc[3] = 'x'; // 不合法
pc = "efgh"; // 合法
char* const pc = "abcd"; // 常指针
pc[3] = 'x'; // 合法
pc = "efgh"; // 不合法
const char* const pc = "abcd"; // 指向常量的常指针
pc[3] = 'x'; // 不合法
pc = "efgh"; // 不合法
3)const与函数形参
const修饰函数形参,用于保证实参在该函数内部不被改动
8.函数新特性
1)函数参数默认值
void fun(int i,int j = 5,int k = 10);
void fun(int i,int j = 5;int k); // 错误
有默认参数值的参数必须在参数表的最右端
2)函数重载
在同一个作用域下,函数名相同,但是参数个数、参数类型或者参数顺序不同的函数之间叫重载
3)内联函数
内联函数关键字:inline
调用时执行代码替换,执行效率高,但是是有条件的
9.内存管理
申请内存用运算符new,释放内存用运算符delete
例:
int *p = new int;
*p = 5; // 可以合在一起,int *p = new int(5);
delete p;
int *arr = new int[10]; // 申请块内存
delete []arr; // 释放块内存
注意:申请内存要判断是否成功,释放内存要设空指针
int *arr = new int[1024];
// 一定要判断一下
if(arr == NULL){
// 分配失败
}else{
delete []arr;
arr = NULL; // 一定要有,否则误操作以后,后果很严重
}
10.提供了字符串处理类string,注意区分于Java中的String类
C++语言对C语言的扩充相关推荐
- R语言可视化斜率图、扩充图像纵横比为数据标签显示更整齐、ggrepel包来帮忙
R语言可视化斜率图.扩充图像纵横比为数据标签显示更整齐.ggrepel包来帮忙 目录
- c语言程序实际问题,《编程解决问题之程序规划语言(c语言)》.doc
<编程解决问题之程序规划语言(c语言)> <编程解决问题之程序设计语言(c语言)> 课程内容介绍: 本课程主要是介绍如何利用c程序设计语言,编写程序,解决实际问题.目的是提高学 ...
- Swift语言指南(一)--语言基础之常量和变量
原文:Swift语言指南(一)--语言基础之常量和变量 Swift 是开发 iOS 及 OS X 应用的一门新编程语言,然而,它的开发体验与 C 或 Objective-C 有很多相似之处. Swif ...
- 零基础学C语言(C语言入门)
C语言入门(初识C语言) 初识C语言 前言 什么是C语言 为什么要选择C语言作为学习的第一门语言 一.第一个C语言程序 1.1 #include 1.2 int main() 1.3 printf 1 ...
- 一起学习C语言:C语言数据类型(二)
上一篇<一起学习C语言:C语言数据类型(一)>中,我们了解到"位与字节"的含义,并分析无符号短整形和有符号短整形的运算方式.本篇文章中,我们进行分析二进制到八进制.十六 ...
- c语言是静态语言python语言是脚本语言吗_C语言还是Python语言哪个更好?
最近,很多人问我问题. C语言还是Python,哪个更好?实际上,没有什么好坏之分,而且由于Python的基本逻辑是用C语言实现的,因此它们都有自己的特点.如果您想了解更多信息,建议您先学习C语言,然 ...
- What is 计算机程序语言、C语言?
什么是计算机程序? 所谓程序,就是一组计算机能识别和执行的指令,每一条指令使计算机执行特定的操作,一个特定的指令序列用来完成一定的功能. 计算机的一切操作都是由程序控制的,离开程序,计算机将一事无成: ...
- [Lua语言编程]Lua语言基础知识
文章目录 `Lua` `Lua`语言的起源 `Lua` 特性 `Lua下载` Linux 系统上安装 Mac OS X 系统上安装 Window 系统上安装 `Lua` `Lua`语言语法 `Lua` ...
- c语言表达式3178的值为,【C语言】C语言运算符
c语言 &取地址运算符的理解 对于c语言中的&运算符,百度百科是这样定义的:(&p)则是这样一种运算,返回当时声明p 时开辟的地址:但是根据我对代码的观察,我觉得&am ...
- 多语言php,多语言 · ThinkPHP5.0完全开发手册 · 看云
ThinkPHP内置通过`\think\Lang`类提供多语言支持,如果你的应用涉及到国际化的支持,那么可以定义相关的语言包文件.任何字符串形式的输出,都可以定义语言常量. ## 开启和加载语言包 默 ...
最新文章
- centos7 yum安装kubernetes 1.1
- 11.2 计算机保护条例解读
- 网易云助力云音乐短视频功能快速上线
- HTML5--本地存储Web Storage
- 扫描二维码,下载Android安装包
- 小草客户端android2.2.4 g,小草客户端android2.2.5-小草app安卓版客户端android2.2.5预约 v2.2.5-优盘手机站...
- python while循环例题鸡兔同笼_使用函数嵌套和循环枚举解决鸡兔同笼问题(解数学题学Python编程)...
- Photoshop脚本 删除当前图层
- C语言数据结构与算法-------查找(二)哈希法
- java isbn_ISBN书号查询示例代码
- 英语 —— 辅音浊化
- Windows 域基础环境搭建-Win_Server_2003
- Unity chan下载
- Material Design学习
- PV操作经典例题——和尚打水
- Python多进程反而变慢
- 第12章实验1:学生成绩管理系统V5.0(c语言)
- 王家卫入股的“导演合伙人制”,会给中国电影制造惊喜吗?
- 用SRS搭建流媒体系统
- win7网站服务器空间怎么清理,window_Win7系统如何清理C盘空间?Win7系统清理C盘空间小技巧, Win7系统清理C盘空间小技 - phpStudy...
热门文章
- 骗子QQ 14258588665 买ig骗我2600
- php框架 s,开源免费的PHP框架|轻量级PHP框架(DecSoft's Humm PHP)下载 V2019.4 官方版 - 比克尔下载...
- coreos 安装 mysql_技术|手把手教你在 CoreOS 上构建你的第一个应用
- 线性代数-二次型知识点总结
- 矩阵的初等变换与线性方程组【线性代数系列(三)】
- 常用类---Object类
- Node 学习笔记一
- iOS内购代码(苹果支付ApplePay)
- 【大学生软件测试基础】打印机功能 - 状态转移图
- springCloud Euraka知识讲解、问题解决方案、优化方案