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++简单介绍的更多相关文章

  1. [原创]关于mybatis中一级缓存和二级缓存的简单介绍

    关于mybatis中一级缓存和二级缓存的简单介绍 mybatis的一级缓存: MyBatis会在表示会话的SqlSession对象中建立一个简单的缓存,将每次查询到的结果结果缓存起来,当下次查询的时候 ...

  2. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍

    一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...

  3. 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍

    一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...

  4. yii2的权限管理系统RBAC简单介绍

    这里有几个概念 权限: 指用户是否可以执行哪些操作,如:编辑.发布.查看回帖 角色 比如:VIP用户组, 高级会员组,中级会员组,初级会员组 VIP用户组:发帖.回帖.删帖.浏览权限 高级会员组:发帖 ...

  5. angular1.x的简单介绍(二)

    首先还是要强调一下DI,DI(Denpendency Injection)伸手获得,主要解决模块间的耦合关系.那么模块是又什么组成的呢?在我看来,模块的最小单位是类,多个类的组合就是模块.关于在根模块 ...

  6. Linux的简单介绍和常用命令的介绍

    Linux的简单介绍和常用命令的介绍 本说明以Ubuntu系统为例 Ubuntu系统的安装自行百度,或者参考http://www.cnblogs.com/CoderJYF/p/6091068.html ...

  7. iOS-iOS开发简单介绍

    概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序.但是这里我想强调一下,前面的 ...

  8. iOS开发多线程篇—多线程简单介绍

    iOS开发多线程篇—多线程简单介绍 一.进程和线程 1.什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ.Xcod ...

  9. iOS开发UI篇—UITabBarController简单介绍

    iOS开发UI篇—UITabBarController简单介绍 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarControlle ...

  10. Android开发自学笔记(Android Studio)—4.界面编程与View组件简单介绍

    一.引言 Android应用开发最重要的一份内容就是界面的开发,无论你程序包含的内容多么优秀,如若没有一个良好的用户交互界面,最终也只是会被用户所遗弃.Android SDK提供了大量功能丰富的UI组 ...

随机推荐

  1. 斯坦福大学公开课机器学习: machine learning system design | error analysis(误差分析:检验算法是否有高偏差和高方差)

    误差分析可以更系统地做出决定.如果你准备研究机器学习的东西或者构造机器学习应用程序,最好的实践方法不是建立一个非常复杂的系统.拥有多么复杂的变量,而是构建一个简单的算法.这样你可以很快地实现它.研究机 ...

  2. 向redis中添加删除list列表

    转: 向redis中添加删除list列表 2018年04月18日 15:44:54 luo_yu_1106 阅读数:4082   一.添加 向redis中添加队列有两种方式 1.lpush l是lef ...

  3. C语言进阶--DAY3

    主要讲解数组和指针有关问题 1. 数组名的本质是一个常量指针 2. 内存编址的最小单位是字节,对于变量来说,一个变量可以取1.2.4.8等字节,对变量取地址来说,取的是低位字节的地址,在32位机中其对 ...

  4. Hadoop端口说明

    Hadoop端口说明: 默认端口                            设置位置                                    描述信息 8020        ...

  5. ThreadPoolExecutor线程池详解

    七个参数: corePoolSize:核心池的大小,在创建了线程池后,默认情况下,线程池中并没有任何线程,而是等待有任务到来才创建线程去执行任务,当有任务来之后,就会创建一个线程去执行任务,当线程池中 ...

  6. xml实体注入学习

    好久没学习技术了  很多东西都忘了  复习一下 测试代码 <?php $xml = file_get_contents("php://input"); $data = sim ...

  7. HDU - 1272 小希的迷宫(并查集判断环)

    https://cn.vjudge.net/problem/HDU-1272 Description 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardo ...

  8. 牛客网暑期ACM多校训练营(第十场)D Rikka with Prefix Sum (组合数学)

    https://www.nowcoder.com/acm/contest/148/D 题意 一个A数组,初始全为0.现有三种操作,1:给区间[L,R]+w:2:把每个位置的元素变为其前缀和:3:求区间 ...

  9. CodeForces - 375A Divisible by Seven(数学)

    https://vjudge.net/problem/48715/origin 题意:给出必定含1689四个数字的字符串,随意交换位置构造出能被7整除的数. 分析:数学思维题.观察发现1689的排列与 ...

  10. ajax传递对象数组

    1.Json.stringify()是将json数据格式转换成String类型字符串的方法. 后台可以使用String类型接受,接收完可以使用json转换java集合的方法. List<实体类& ...