C++11 笔记】的更多相关文章

我真的不是标题党... 虽然大一上学期学C语言基础时就学了auto关键字了,而且还是跟static和register两个关键字打包学的,但是.. 猜的没错,C++11这货又给auto加新功能了,在 C++ 11 笔记 (一)中已经用过了,但是用之前忘了记录一下,可见博客编排顺序有多么不合理... auto关键字新添加了自动推断类型的功能,例如我们有这样一个类: class EvenSuchALongNameOfTheClassWhatTheFuck { public: EvenSuchALong…
__func__宏 __func__返回当前的函数名,也可以返回class和struct名. /*返回函数名hello*/ const char* hello() { return __func__; } /*返回结构体名foo*/ struct foo { foo():name(__func){} const char* name; } __VA_ARGS__宏 可变参数宏 #define INFO(...) printf(__VA_ARGS) noexcept noexcept操作会阻止异常…
以前生成一个随机数都是这样: srand(time(NULL)); rand(); 在C++11中,标准库中增加了随机数引擎 std::default_random_engine 这个好东西,然后我们就可以这样: std::default_random_engine rand_default; rand_default(); 另外可以指定随机数种子,有两种方式: std::default_random_engine rand_default(); //构造函数指定 rand_default.se…
这真是一个巨大的话题.我猜记录完善绝B需要一本书的容量. 所以..我只是略有了解,等以后用的深入了再慢慢补充吧. C++写多线程真是一个痛苦的事情,当初用过C语言的CreateThread,见过boost库的pthread,对比一下感觉Java和C#的多线程真好用.. 在C++11中,标准库又添加了std::thread这个好用的线程库,基本就是boost的pthread演化来的,用法也差不多.所以先举个简单的例子: void func1(std::string str) { ; i < ; i…
首先肯定的是,我不是标题党.. C++11的for循环确实有跟C++98不一样的地方,还是先上代码: , , , , }; for (int x : test_arr) { std::cout << x << std::endl; } 看上去跟Java的for循环和C#的foreach很相似,但是Java和C#的for循环是只读的,而C++的可以读写,我们把上面的代码修改成这样: for (int &x : test_arr) { x = ; } 这样数组中的元素就全都是8…
时至今日都是我咎由自取,错就是错,与任何人无关.掉进C++98的各种坑里无法自拔的抖M感,让我选择了华丽丽的无视C++11,导致今日面对开源的代码到各种看不懂的地步,一入C++深似海,我今天愿意承担一切后果.在努力摆脱小白的道路上,我必须再一次推倒我的三观,重新审视和坦然面对自己. 一段时间没有更新博客了,简直凄凉. 今天打算开几篇C++11的博客.看博容易,写博不易,且写且珍惜... lambda表达式在C++算是千呼万唤始出来了,常见写法有下面几种: auto lambda1 = [](st…
5.重载运算符 本质上是一个函数. 函数名为operator(+-*/--) 如果一个运算符是成员函数,其左侧运算对象就绑定到隐式的this参数上. a.拷贝赋值运算符 例如: class Foo { public: Foo& operator=( const Foo& ); } 注意,赋值运算符通常返回一个指向其左侧运算对象的引用.(这样就可以在一个表达式中连续使用=) 若类内未定义,编译器会合成一个拷贝赋值运算符. 它会将右侧运算对象的每个非static成员赋予左侧运算对象的对应成员.…
目录: 1.std::share_ptr智能指针: 2.std::tr1::function模板类: 3.stringstream: 4.set/vector/map: 5.static_cast<class > (expression): std::share_ptr智能指针: http://en.cppreference.com/w/cpp/memory/shared_ptr 智能指针shared_ptr<_class>,在<memory>中定义. 表示_class…
这一节主要介绍UITableView以及iPad,Demo为从Flicker下载图片并显示,但是实际过程中发现需要FQ并使用HTTPS连接,所以这次用了两个Demo,一个是课程中的Demo,另一个是简化的. 最后调试过程中还找到Xcode中观察变量的一个小技巧. 1.UITableView UITableView是iOS中最常用的表视图,通讯录中的联系人.手机设置里的每一个选项都是表视图中的一个单元格cell,微信.微博每一条记录其实也是一个cell,只不过是组成要素更多一些而已. (1)两个重…
std::bind 接受一个可调用的对象,一般就是函数呗.. 还是先上代码: void func(int x, int y, int z) { std::cout << "hello!" << x << y << z << std::endl; } 我们可以通过std::bind调用这个函数: std::_Bind<, , ); 其中7,8,9是传给func函数的参数.看这恶心的声明,简直比上一篇博客举得例子还要恶心,所…