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. 为什么要用PolyFill(JS中的修补匠)

    var users = [{name:"zhangsan",age:18},{name:"jack",age:20}]; 这是一个对象数组.如果我们要查询名字为 ...

  2. mac host文件配置

    Shift+Command+G 三个组合按键,并输入 Hosts 文件的所在路径:/etc/hosts /private/etc/hosts

  3. HTML学习笔记Day11

    一.CSS文档统筹 (一)网页自身的优化 (二)CSS规范 1.命名方法(语义化命名,结构化命名) ID:结构化    header footer class: .border0    . red:  ...

  4. curl与wget

    curl 和wget 区别 使用方法 可参考 curl vs Wget 1.curl是libcurl这个库支持的,wget是一个纯粹的命令行命令.2.curl支持更多的协议.curl supports ...

  5. Qt ------ excel 操作

    写 excel // step1:连接控件 QAxObject* excel = new QAxObject(this); excel->setControl("Excel.Appli ...

  6. 微信小程序之自定义select下拉选项框组件

    知识点:组件,animation,获取当前点击元素的索引与内容 微信小程序中没有select下拉选项框,所以只有自定义.自定义的话,可以选择模板的方式,也可以选择组件的方式来创建. 这次我选择了组件, ...

  7. 【转载】Qt之JSON生成与解析

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 3rd Edition - December ...

  8. bzoj2049 线段树 + 可撤销并查集

    https://www.lydsy.com/JudgeOnline/problem.php?id=2049 线段树真神奇 题意:给出一波操作,拆边加边以及询问两点是否联通. 听说常规方法是在线LCT, ...

  9. bzoj2733 离线+并查集+主席树

    https://www.lydsy.com/JudgeOnline/problem.php?id=2733 网上清一色的合并线段树题解,我又不会,只能自己胡来,没想到Rush过去了 永无乡包含 n 座 ...

  10. spark常见异常汇总

    spark常见异常汇总 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 温馨提示:   如果开发运行spark出现问题啦,可能需要运维这边做一些调优,也可能是开发那边需要修改代码.到 ...