20190712总复习6

auto a = 10
typeid(a).name() 可以推导出变量的类型
for(auto p : ar)
{
cout<<p<<" ";
}
alignas(16)往小调结果不准确,向大调会有影响

lambda函数语法:
mutable->return-type{statement}
[]:捕捉列表
():参数列表
mutable:取消常量特性,传入的参数可以修改
->:返回类型
{statement}:函数体,内容与不同函数一样,不过除了可以使用参数之外,还可以使用所有捕获的变量。
lambda:可以通过捕捉列表访问一些上下文的数据
[var]:表示值传递方式捕捉变量var
[=]:表示值传递方式捕捉所有父作用域的变量(包括this)
[&var]:表示引用传递捕捉变量var
[&]:表示引用传递捕捉所有父作用域的变量(包括this)
[this]:表示值传递方式捕捉当前this的指针

重载的运算符:主要赋予能力直接输出对象

对于某些声明类成员:
语法来说是可以的,但是需要反着调用(a<<cout<<endl)
但是从语义来说,需要声明为友元方法,保证了函数书写的方式,和我们平时所用是相同的

重载函数:
开辟的无名临时对象,函数结束临时对象周期结束

针对于优化过的重载函数,比如return (…)等等,会一直等到赋值结束才会被销毁

对于直接给对象赋值,是因为构造方法允许使用整数来构造一个对象

explicit(显示):如果不加,则是隐式转换。

8bit数据,给某一位置赋1或者0
if(flag)
{
	*p_data |= 0x01 << (position - 1);
}
else
{
	*p_data &= ~(0x01<<(position - 1))
}
发布了39 篇原创文章 · 获赞 10 · 访问量 761

猜你喜欢

转载自blog.csdn.net/weixin_43393776/article/details/95652880
今日推荐