现代C++简单介绍
C++ 是世界上最常用的编程语言之一。
编写良好的 C++ 程序是快速、高效的。
该语言比其他语言更加灵活,因为你可以使用它来创建各种应用,
包括有趣刺激的游戏、高性能科学软件、设备驱动程序、嵌入式程序和 Windows 客户端应用。
在过去的 20 多年中,C++ 已被用于解决许多这样的以及各种其他问题。
你可能不知道,越来越多的 C++ 程序员已经抛弃过时的 C 样式编程,改为使用先进的 C++。
C++ 的一个目标就是使程序既类型安全,又更易于编写、扩展和维护。
现代 C++ 强调:
1.基于堆栈的范围,而非堆或静态全局范围。
2.自动类型推理,而非显式类型名称。 auto ...
3.智能指针而不是原始指针。
4.std::string 和 std::wstring 类型,而非原始 char[] 数组。
5.标准模板库 (STL) 容器(例如 vector、list 和 map),而非原始数组或自定义容器。
6.STL 算法,而非手动编码的算法。
7.异常,可报告和处理错误条件。
8.使用 STL std::atomic<>,而非其他线程间通信机制的无锁线程间通信。
9.内联 lambda 函数,而非单独实现的小函数。
10.基于范围的 for 循环,编写以 for ( for-range-declaration : expression ) 形式
使用数组、STL 容器和 Windows 运行时集合的更可靠循环。for each 比 for 循环更整洁和易于使用,并且不容易发生意外错误。
for each (auto var in collection_to_loop)
{
}
C++ 又一次兴起,因为功能再次占据首要位置。
当程序员的工作效率很重要时,Java 和 C# 等语言是很好的选择,
但当功能和性能至关重要时,此类语言就暴露出了自身限制。
要实现高效率和强大功能,特别是在硬件有限的设备上,现代 C++ 无可匹敌。
int
4 个字节
整数值的默认选择。
double
8 个字节
浮点值的默认选择。
bool
1 个字节
表示可为 true 或 false 的值。
char
1 个字节
用于早期 C 样式字符串或 std:: 字符串对象中无需转换为 UNICODE 的 ASCII 字符。
wchar_t
2 个字节
表示可能以 UNICODE 格式进行编码的“宽”字符值(Windows 上为 UTF-16,其他操作系统上可能不同)。 这是用于 std::wstring 类型字符串的字符类型。
unsigned char
1 个字节
C++ 无内置 byte 类型。使用 unsigned char 表示字节值。
unsigned int
4 个字节
位标志的默认选项。
long long
8 个字节
表示非常大的整数值。
使用两个函数来推动程序的启动和终止: main 和 exit。
在 C++ 中,可通过多种方式退出程序:
调用 exit() 销毁所有static对象,清空所有缓冲区,关闭所有I/O,然后终止程序
调用 quick_exit()
调用 abort() 立刻终止,不清理
调用terminate()
从 main 执行 return 语句。
唯一“正确且具移植性”的main()
int main()
{
}
和
int main(int argc, char* argv[])
{
}
c++定义了一个隐晦的return 0;于main()终点。
现代C++简单介绍的更多相关文章
- [原创]关于mybatis中一级缓存和二级缓存的简单介绍
关于mybatis中一级缓存和二级缓存的简单介绍 mybatis的一级缓存: MyBatis会在表示会话的SqlSession对象中建立一个简单的缓存,将每次查询到的结果结果缓存起来,当下次查询的时候 ...
- 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍
一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...
- 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍
一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...
- yii2的权限管理系统RBAC简单介绍
这里有几个概念 权限: 指用户是否可以执行哪些操作,如:编辑.发布.查看回帖 角色 比如:VIP用户组, 高级会员组,中级会员组,初级会员组 VIP用户组:发帖.回帖.删帖.浏览权限 高级会员组:发帖 ...
- angular1.x的简单介绍(二)
首先还是要强调一下DI,DI(Denpendency Injection)伸手获得,主要解决模块间的耦合关系.那么模块是又什么组成的呢?在我看来,模块的最小单位是类,多个类的组合就是模块.关于在根模块 ...
- Linux的简单介绍和常用命令的介绍
Linux的简单介绍和常用命令的介绍 本说明以Ubuntu系统为例 Ubuntu系统的安装自行百度,或者参考http://www.cnblogs.com/CoderJYF/p/6091068.html ...
- iOS-iOS开发简单介绍
概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序.但是这里我想强调一下,前面的 ...
- iOS开发多线程篇—多线程简单介绍
iOS开发多线程篇—多线程简单介绍 一.进程和线程 1.什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ.Xcod ...
- iOS开发UI篇—UITabBarController简单介绍
iOS开发UI篇—UITabBarController简单介绍 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarControlle ...
- Android开发自学笔记(Android Studio)—4.界面编程与View组件简单介绍
一.引言 Android应用开发最重要的一份内容就是界面的开发,无论你程序包含的内容多么优秀,如若没有一个良好的用户交互界面,最终也只是会被用户所遗弃.Android SDK提供了大量功能丰富的UI组 ...
随机推荐
- 斯坦福大学公开课机器学习: machine learning system design | error analysis(误差分析:检验算法是否有高偏差和高方差)
误差分析可以更系统地做出决定.如果你准备研究机器学习的东西或者构造机器学习应用程序,最好的实践方法不是建立一个非常复杂的系统.拥有多么复杂的变量,而是构建一个简单的算法.这样你可以很快地实现它.研究机 ...
- 向redis中添加删除list列表
转: 向redis中添加删除list列表 2018年04月18日 15:44:54 luo_yu_1106 阅读数:4082 一.添加 向redis中添加队列有两种方式 1.lpush l是lef ...
- C语言进阶--DAY3
主要讲解数组和指针有关问题 1. 数组名的本质是一个常量指针 2. 内存编址的最小单位是字节,对于变量来说,一个变量可以取1.2.4.8等字节,对变量取地址来说,取的是低位字节的地址,在32位机中其对 ...
- Hadoop端口说明
Hadoop端口说明: 默认端口 设置位置 描述信息 8020 ...
- ThreadPoolExecutor线程池详解
七个参数: corePoolSize:核心池的大小,在创建了线程池后,默认情况下,线程池中并没有任何线程,而是等待有任务到来才创建线程去执行任务,当有任务来之后,就会创建一个线程去执行任务,当线程池中 ...
- xml实体注入学习
好久没学习技术了 很多东西都忘了 复习一下 测试代码 <?php $xml = file_get_contents("php://input"); $data = sim ...
- HDU - 1272 小希的迷宫(并查集判断环)
https://cn.vjudge.net/problem/HDU-1272 Description 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardo ...
- 牛客网暑期ACM多校训练营(第十场)D Rikka with Prefix Sum (组合数学)
https://www.nowcoder.com/acm/contest/148/D 题意 一个A数组,初始全为0.现有三种操作,1:给区间[L,R]+w:2:把每个位置的元素变为其前缀和:3:求区间 ...
- CodeForces - 375A Divisible by Seven(数学)
https://vjudge.net/problem/48715/origin 题意:给出必定含1689四个数字的字符串,随意交换位置构造出能被7整除的数. 分析:数学思维题.观察发现1689的排列与 ...
- ajax传递对象数组
1.Json.stringify()是将json数据格式转换成String类型字符串的方法. 后台可以使用String类型接受,接收完可以使用json转换java集合的方法. List<实体类& ...