摘要:
class Buffer { public: explicit Buffer(int capacity) : capacity_(capacity), len_(0), buff_(new char[capacity] {0}) { std::cout << "默认的构造函数" << std::en 阅读全文
摘要:
概述 std::move 是 C++ 标准库中的一个函数模板,用于将一个左值(左值引用)转化为右值引用,从而实现移动语义。移动语义是一种可以将资源(如内存)从一个对象转移到另一个对象的方式,而不是进行资源的复制。移动操作通常比复制操作更高效,对于大型的对象(如容器、字符串等)可以带来很大的性能优势。 阅读全文
摘要:
概述 std::forward是C++11中引入的一个函数模板,用于实现完美转发(Perfect Forwarding)。它的作用是根据传入的参数,决定将参数以左值引用还是右值引用的方式进行转发。 然而,完美转发是为了解决传递参数时的临时对象(右值)被强制转换为左值的问题。在C++03中,可以使用泛 阅读全文
摘要:
1、当确定函数没有异常的使用,使用noexcept 在 C++11 中,noexcept关键字用于表示函数不会抛出异常。使用noexcept的主要原因是为了提高代码的效率和性能。 在 C++中,函数的默认行为是可以抛出异常的。这意味着在函数内部如果发生了异常,程序会跳转到异常处理代码,并执行相应的处 阅读全文