随笔分类 - C++11
摘要:问题场景 在一段处理开始时new一个对象, 进行对象的构造或其他处理, 最后返回对象的指针, 但存在对象构造时check不合法的情况,这种情况下返回nullptr, 为避免内存泄露需要在返回nullptr的分支进行delete处理,由于分支可能较多,这里可能会遗漏delete,另外每个分支重复的加d
阅读全文
摘要:什么是移动语义 解决什么问题 在C++中如果不使用指针, 那么return一个对象的行为会触发copy构造函数, 带来额外开销 如下: Person MakePerson() { Person p; p.name = "WangLiang"; p.tel = "13888888888"; p.add
阅读全文
摘要:std::bind介绍 std::bind用于给函数绑定预设的参数, 这样实际上也可以给函数带上状态, 起到类似闭包的效果 以下是bind的几种用法 std::bind普通函数 看示例代码, 这里使用 std::placeholders::_1, 表达的是第一个参数的占位符 第2个参数预设为100,
阅读全文
摘要:lambda表达式是什么 lambda表达式实际是一个匿名函数指针, 如下示例代码: #include <iostream> using namespace std; int main(int argc, char* argv[]) { auto sum = [](int a, int b){ret
阅读全文