c++
luiio
这个作者很懒,什么都没留下…
展开
-
c++11之特性之std::function(书:深入应用c++11)
std::function和std::bind可以让标准函数的使用更方便,也可以实现延迟求值。1.可调用对象1.1函数指针1.2具有operator()成员函数的类对象(仿函数,重载()符号类的对象)1.3可以被转换为函数指针的类对象1.4类成员函数指针,类成员指针void func(void){ ...}struct Foo{ void operator() (void) { ... }};struct Eoo{原创 2021-01-25 13:56:37 · 746 阅读 · 1 评论 -
c++11之特性 基于范围的for循环(书:深入应用c++11)
1.引出:不用给出容器的首尾,不基于范围来循环。std::vector<int> vecMy;// 传统写法for(auto n = vecMy.begin(); n!= vecMy.end(); ++ n){ ...}// algorithm中写法void do_count(int n){ ...}foreach(vecMy.begin(), vecMy.end(), do_count);// 新写法 , const 和 &可以达到无损遍历原创 2021-01-24 17:01:31 · 132 阅读 · 0 评论 -
c++11之特性 模板细节改造(书:深入应用c++11)
1. 模板编程的>> 不需要再加空格了,不会和右移操作符发生二义性。2.使用using可以替代typename,可以实现重定义一个模板。typename无法实现。using重定义的模板,不是类模板,也不是函数模板,而是一个模板别名。3.除了支持类模板的默认参数以外,现在也支持函数模板的默认模板参数。这个默认参数可以是类型,可以是值...原创 2021-01-24 16:31:47 · 151 阅读 · 1 评论 -
c++11之特性了解decltype(书:深入应用c++11)
1.定义auto关键字要求必须初始化,编译器才能推到出变量类型。decltype关键字,用于编译时推导一个表达式的类型。2.语法格式:decltype(expression)类似于sizeof运算符,在编译器完成的类型推导,不会计算表达式的值。int x = 0;decltype(x) y = 1; // y -> intdecltype(x+y) z = 0; // z -> intconst int & i = x;decltype原创 2021-01-24 16:20:05 · 205 阅读 · 0 评论 -
c++11之特性了解auto(书:深入应用c++11)
1.考虑到auto在c++中使用很少,在c++11中,auto关键字不再表示存储类型指示符(static int 和auto int是相对的)。而改成了一个类型指示符,用于编译器自动推导变量类型。2.2.1auto可以直接推导出指针2.2可以使用cv限定符(const、volatile)2.3表达式带有cv限定符时,会丢弃cv限定符。2.4auto和引用或者指针结合时,将保留cv限定符属性。const auto e = 0;auto f = e; // f.原创 2021-01-22 23:57:14 · 258 阅读 · 0 评论 -
c++11之特性了解std::bind(绑定器)(书:深入应用c++11)
1.头文件<functional>2.定义:用来将可调用对象与其参数一起进行绑定,绑定后的结果可以使用std::function进行保存,并延迟调用到任何我们需要的时候。3.理解:1)将可调用对象与其参数一起绑定成一个仿函数。2)可以将多参数可调用对象降维,即参数削减或者随意调整位置和顺序后灵活使用。4.举例4.1基本调用#include <iostream>#include <functional>void call_when_eve原创 2021-01-21 14:16:56 · 890 阅读 · 0 评论 -
c++11之特性了解(待完善)
1.使用emplace_back() 替代push_back()2.std::unique_lock与std::lock_guard区别,条件变量需要该类型的锁作为参数(此时必须使用unique_lock)https://blog.csdn.net/guotianqing/article/details/1040024493.c++新特性之std::atomic,不使用锁实现互斥,单个int和bool使用方便https://blog.csdn.net/delongwang520/articl原创 2021-01-15 14:19:12 · 100 阅读 · 0 评论