菜鸟笔记
提升您的技术认知

C++ 笔记 第23页

c++ string写时复制

菜鸟阅读 : 3241赞(1)

  string写时复制:将字符串str1赋值给str2后,除非str1的内容已经被改变,否则str2和str1共享内存。当str1被修改之后,stl才为str2开辟内存空间,并初始化。    #include <cstring>...

c++11新特性之future

菜鸟阅读 : 3107赞(4)

std::future可以从异步任务中获取结果,一般与std::async配合使用,std::async用于创建异步任务,实际上就是创建一个线程执行相应任务。   先看段代码: #include <future> #includ...

c++11新特性之atomic

菜鸟阅读 : 3843赞(4)

std::atomic_flag   std::atomic_flag是一个原子的布尔类型,可支持两种原子操作: test_and_set, 如果atomic_flag对象被设置,则返回true; 如果atomic_flag对象未被设置,则...

explicit

菜鸟阅读 : 1539赞(1)

在C++中,如果类的某个构造函数只有一个参数,那么编译器在编译的时候,就会有一个默认的隐式转换操作:将该构造函数参数的类型转换为该类的类型。 举例: #include class Test { public: int m_value; pu...

C++ auto 关键字

菜鸟阅读 : 3702赞(1)

在C++ 98 中,auto 的作用是让变量成为自动变量(拥有自动的生命周期),但是该作用是多余的,变量默认拥有自动的生命周期,在C++ 11 中,已经删除了该用法,取而代之的作用是:自动推断变量的类型。 举例:   int32_t a =...

Vector 两容器求交集

菜鸟阅读 : 2544赞(1)

Vector 两容器求交集 1 #include "set" 2 #include "vector" 3 #include 4 using namespace std; 5 6 int main(void) 7 { 8 int iarr1[...

vector中erase的用法

菜鸟阅读 : 2894赞(1)

erase的函数原型有两种形式: iterator erase(iterator position); iterator erase(iterator first, iterator last); // 返回指向下一个元素的迭代器 &nbs...

顺序容器vector拷贝使用总结

菜鸟阅读 : 2102赞(1)

主要用以下几种方法: vector<int> vec; vec.push_back(1); vec.push_back(2); 1.初始化构造时拷贝 vector<int> vec2(vec); 2.assign v...

C++设计模式系列

菜鸟阅读 : 4883赞(1)

该系列主要总结了使用C++来实现各种设计模式,并结合实际的案例来分析如何使用,以及在什么场合下使用设计模式。以下是该系列所有C++设计模式文章的链接。希望对大家有帮助。 C++设计模式——简单工厂模式 C++设计模式——工厂方法模式 C++...