摘要:
转自 explicit 如果A类有某个构造函数的单个输入参数,是B类(包括基本数据类型)的对象或引用,则C++的编译器会在需要A类形参的函数调用中,自动调用该构造函数,将B类实参隐式地转换为A类实参。 这种自动类型转换的好处是,避免了定义函数的两个重载版本,代价是隐式调用构造函数会增加调用开销,并可 阅读全文
摘要:
C++11支持move语义,用以避免非必要拷贝和临时对象。 具体内容见收藏中的“C++右值引用” 。 阅读全文
摘要:
转自 http://www.hankcs.com/program/cpp/c11-std-function-usage.htmlfunction可以将普通函数,lambda表达式和函数对象类统一起来。它们并不是相同的类型,然而通过function模板类,可以转化为相同类型的对象(function对象... 阅读全文
摘要:
所谓function adapter(函数适配器)是指能够将不同的函数对象(或是和某值或某寻常函数)结合起来的东西,它自身也是个函数对象。迭代器适配器 运用STL中的迭代器适配器,可以使得算法能够以逆向模式(反向迭代器)、安插模式(插入迭代器)进行工作,也可以和流搭配工作。反向迭代器,将一个迭代器转... 阅读全文
摘要:
有三种办法可以从“运用了function object”的算法中获取“结果”或“反馈”:1、在外部持有状态,并让function object指向它;2、以by reference方式传递function object;3、利用for_each()算法的返回值。for_each()有一个其他算法都没... 阅读全文
摘要:
3.1.9崭新的Template特性Variadic Template 可变参数模板void print(){}template void print (const T& firstArg, const Types&… args){ std::coutusing Vec = std::vect... 阅读全文
摘要:
在C++中,setw(int n)用来控制输出间隔。例如:cout<<'s'<<setw(8)<<'a'<<endl;则在屏幕显示s a//s与a之间有7个空格,setw()只对其后面紧跟的输出产生作用,如上例中,表示'a'共占8个位置,不足的用空格填充。若输入的内容超过setw()设置的长度,则按... 阅读全文
摘要:
5.2 Smart Pointer(智能指针)shared_ptr的aliasing构造函数,接受一个shared pointer和一个raw pointer。它允许你掌握一个事实:某对象拥有另一个对象。例如:struct X{ int a;};shared_ptr px(new X);sh... 阅读全文
摘要:
在VS中新建TheC++StandardLibrary项目,在test测试tie的功能,将测试函数声明在test.h文件,实现放到test.cpp文件,编译时提示错误: fatal error LNK1120: 1 个无法解析的外部命令 百度时才注意到,这是一个模板分离编译问题,知乎上的回答: 链接 阅读全文
摘要:
沙河西ftp上传,使用了expect语言的脚本。 我们经常会遇到一些需要与服务器程序打交道的场景,比如,从登陆某个服务器,然后进行某项工作。这很平常,但是如果把这个工作自动化进行,你就需要一个程序能自动做你要告诉机器的事情,这样,我们的expect就能大显身手了。 首先,expect是一个简单的工具 阅读全文