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. 【洛谷P1060 开心的金明】

    题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过NNN元钱就行”. ...

  2. 使用vcftools或者gcta计算群体间固定指数(Fixation index,FST)

    下列所用到的数据均为千人基因组数据库 1.通过vcftools计算FST 命令行如下: ./vcftools --vcf input_data.vcf --weir-fst-pop populatio ...

  3. ElasticSearch6.5.0 【script_lang not supported】

    执行代码:[就是想根据条件更新]把品牌为LiNing的都改成Cat. UpdateByQueryRequestBuilder updateByQuery = UpdateByQueryAction.I ...

  4. Solr7.1--- 单机Linux环境搭建

    应网友的要求,写个关于Linux单机的 首先,把MySQL驱动包和solr7.1安装包上传到服务器,我上传到了自定义的目录/mysoft 执行服务安装脚本 1. 先切换到root用户 2. 解压出脚本 ...

  5. python之OpenCv

    1.安装 pip install opencv-python 2.初步简绍 创建窗口显示图像 cv2.namedWindow(窗口名称[,窗口标识]) 例如:cv2.namedWindow(" ...

  6. league之csv导出

    有的时候当我们导出文件时,如果文件比较小可以使用phpexcel,但是当文件太大时就会遇到很多瓶颈(excel条数限制.导出时间太长等). 这个时候要么使用excel分批次导出,要么就需要使用csv导 ...

  7. 2018ccpc秦皇岛站后记

    总的来说这不是一场体验十分好的比赛. 定的宾馆有一点小,学校提供的伙食人太多了,不想排队,饭票又不能换香蕉,就没有吃. 到的第一天遇到了价格向上取整和到站不打发票的两个黑车司机,让我对这个地点好感大减 ...

  8. reportgen :python生产pptx

    欢迎关注博主主页,学习python视频资源 https://www.cnblogs.com/gasongjian/p/8670925.html reportgen v0.1.8 更新介绍 这段时间,我 ...

  9. Java从resources文件夹读取配置文件

    列举了2种方式,第一种是绝对路径,就是写死路径,不推荐 第二种是相对路径,使用到了ClassLoader package com.StadyJava.day22; import java.io.Fil ...

  10. typeahead使用ajax补全输入框的方法

    最近想使用一个输入框补全的功能,bootstrap有,但是官方手册太简单,搞了好几天,终于弄好了. 官方使用的方法是/<input type="text" data-prov ...