c11标准
在编译器vs13及其以上可以使用 编译器对语言的一种优化
1.变量初始化 int a=0,a(10),a{10};定义a的值的三种方式
2.nullptr 相当于c的null 有类型 更加的安全
3.auto 自适应类型 用于返回类型比较复杂的返回值
4.decltype 用一个变量定义同类型的变量/该类型的引用
5.关于for的一个用法for(i:arr) 变量数组里所有的数据
6.类的别名 C语言用 typedef int INT typedef 类型名 别名来定义 c++中用using INT=int来使用
7.类中成员 一般是构造中赋初值 C11可以直接在类中赋初值
8.A()=default;自动生成默认构造
9.委托 在构造中调用自己的其他构造
10.final 放在虚函数后面防止重写终极函数不能重写 放在类后面终极类不能派生其他子类
#include<iostream>
#include<vector>//向量
using namespace std;
class A
{
int data = ;
int y;
public:
//A(){ data = 0; }//构造函数
A() = default;//默认构造 如果写了其他构造 默认不在自动生成一个构造函数
A(int data) :data(data){}//有参构造 初始化新参列表
A(int x, int y) :A(x){ this->y = y; }//在里面调用其他构造帮忙做事情 --->委托
}; class B
{
public:
virtual void fun(){
cout << "父类函数" << endl;
}
virtual void fun2()final{//加上final为终极类不能进行派生
cout << "父类函数2" << endl;
}
};
class C :public B
{
void fun(){
cout << "子类函数" << endl;
}
// void fun2(){
// cout << "类函数2" << endl;
// }子类函数fun2不能继承父类的函数 因为父类函数是终极函数 不能进行派生
};
class D final//不能派生任何子类
{ };
class E//:public 不能派生D
{ };
int main()
{
A aa;
int a = ;//c语言的赋值方式
int b();//c++的赋值方式 常用于初始化形参列表
int c{};//c11标准提出
int d[]{, , , , , , , , };//数组初始化
NULL;//c语言指针空 宏定义
nullptr;//c++的指针空 void*类型 auto x = 3.14;//auto类型 根据后面的值返回定义的类型 必须初始化否则无意义
vector<int>arr = { , , , , , , , };
//初始化数组
vector<int>::iterator it = arr.begin();//指向第一个元素 iterator用于修改元素的值
auto p = arr.begin();
cout << *it << endl << *p << endl;
int y;//int类型的变量
decltype(y) z;//定义一个变量z
//decltype是返回y的类型 z的类型和y的类型一样 int z
//z是什么类型 根据前面的y确定的 目的:定义同类型的变量
decltype((y)) py = y;//定义一个引用类型 相当于 int& y
for (auto i : arr)//循环打印arr的所有元素 i是新定义的变量 arr是数组
{
cout << i;
}
using INT = int;//给int取别名 INT
using ARR = int[];
ARR ab;//相当于int ab[4];
cin.get();
return ;
}
c11标准的更多相关文章
- C11 标准特性研究
前言 - 需要点开头 C11标准是C语言标准的第三版(2011年由ISO/IEC发布),前一个标准版本是C99标准. 相比C99,C11有哪些变化呢!!所有的测试全部基于能够和标准贴合的特性平台. 但 ...
- GCC 版本与C11标准
1. GCC版本是否支持C11 C89=C90:gcc选项是:-ansi, -std=c90 or -std=iso9899:; 带了GNU扩展的:-std=gnu90 C94=C95:gcc选项:- ...
- C89标准和C99标准C11标准的区别
转载 C89标准和C99标准C11标准的区别 C99对C89的改变 1.增加restrict指针 C99中增加了公适用于指针的restrict类型修饰符,它是初始访问指针所指对象的惟一途径,因此只有借 ...
- 是我out了,c11标准出炉鸟
gcc -std=c11 -Wall -O3 -g0 -s -o x.c x 或者 clang -std=c11 -Wall -O3 -g0 -s -o x.c x 来吧! 我是有多无聊啊 测试代码: ...
- gcc开启C99或C11标准支持
开启C99支持 gcc -std=c99 forc99.c 开启C11支持 gcc -std=c1x forc11.c 或 gcc -std=c11 forc11.c
- C语言的三套标准 C89(C90)、C99、C11
C语言最初由 Dennis Ritchie 于 1969 年到 1973 年在 AT&T 贝尔实验室里开发出来,主要用于重新实现 Unix 操作系统.此时,C语言又被称为 K&R C. ...
- C89标准库函数手册(待整理)
http://zh.cppreference.com/w/c 前言 ANSI C(C89)标准库函数共有15个头文件.这15个头文件分别为: 1.<assert.h> ...
- [转载]哪个版本的gcc才支持c11
转自:https://blog.csdn.net/haluoluo211/article/details/71141093 哪个版本的gcc才支持c11 2017年05月03日 19:25:43 Fi ...
- GNU C编译器的gnu11和c11
国际标准组织发布c11后,gnu为自己的编译器发布两种标准gnu11和c11 gnu11:带gnu c扩展的c11标准,如果你的代码包含了typeof,__attribute__等等gnu的扩展,就必 ...
随机推荐
- 抓包自定义过滤器需加%XXXX%,如%third_play%
抓包自定义过滤器需加%XXXX%,如%third_play%
- Atlassian In Action-Jira之核心插件(三)
目录 BigPicture BigPicture特点介绍 管理员管理菜单 任务列表 任务管理 设置 最佳实践 Jira Misc Workflow Extensions 最佳实践 自动分配 自动化流程 ...
- 随机点名可视化界面,记录迟到人员,转exe文件
随机点名可视化界面,记录迟到人员,转exe文件 一.介绍 对于人员采取随机点名 二.代码 import datetime import random from tkinter import * fro ...
- 手把手教你破解文件密码、wifi密码、网页密码
手把手教你破解文件密码.wifi密码.网页密码 1.破解文件密码: 有时候我们在网上下载一个压缩包后,必须要关注或者支付一定费用才给你解压密码,实属比较恶心.在这里手把手叫你实现破解文件解压密码. 1 ...
- Modify column Vs change column
引言 I know, we can not rename a column using modify column syntax,but can change column syntax. My qu ...
- CentOS 7.2配置LAMP环境——yum版
环境:CentOS 7.2 采用putty连接 方法:采用yum安装方法 目的:搭建Apache+MySQL+PHP环境 1.安装Apache yum install httpd //默认情况下,选择 ...
- 小白学python-day06-
今天是day06,以下是学习内容总结: 但行努力,莫问前程. --------------------------------------------------------------------- ...
- python网络爬虫(14)使用Scrapy搭建爬虫框架
目的意义 爬虫框架也许能简化工作量,提高效率等.scrapy是一款方便好用,拓展方便的框架. 本文将使用scrapy框架,示例爬取自己博客中的文章内容. 说明 学习和模仿来源:https://book ...
- Number() 与 parseInt()解析
在 Python 中,将字符串转为整型变量的函数是 int() ,直接使用 int("123")就可以得到 123的输出结果,这样可以比较快速的得到我们想要的结果,在 js 中将 ...
- 【iOS】The filename 未命名.ipa in the package contains an invalid character(s)
提交 APP 到苹果官网审核时遇到了这个问题,如图: 其实就是不支持中文,随便换个英文名就行了. 参考:http://blog.csdn.net/u011439689/article/details/ ...