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

C++ 笔记 第29页

C++手动开启O2优化

O1优化会消耗少多的编译时间,它主要对代码的分支,常量以及表达式等进行优化。  O2会尝试更多的寄存器级的优化以及指令级的优化,它会在编译期间占用更多的内存和编译时间。  O3在O2的基础上进行更多的优化,例如使用伪寄存...

赞(1)菜鸟菜鸟阅读(4161)

STL中的内存池管理技术

一、STL中的内存管理 当我们new一个对象时,实际做了两件事情:(1)使用malloc申请了一块内存。(2)执行构造函数。在SGI中,这两步独立出了两个函数:allocate申请内存,construct调用构造函数。这两个函数分别在<...

赞(1)菜鸟菜鸟阅读(3082)

C++泛型编程基本概念

写在前面: 0. 所谓泛型编程就是独立于任何特定类型的方式编写代码,使用泛型程序时,需要提供具体陈旭实例所操作的类型或者值。我们经常用到STL容器、迭代器、和算法都是泛型编程的例子; 模板是C++支持参数化多态的工具,使用模板可以使用户为类...

赞(1)菜鸟菜鸟阅读(2936)

C++ tuple元组的基本用法

1,元组简介     tuple是一个固定大小的不同类型值的集合,是泛化的std::pair。我们也可以把他当做一个通用的结构体来用,不需要创建结构体又获取结构体的特征,在某些情况下可以取代结构体使程序更简洁,直观。st...

赞(1)菜鸟菜鸟阅读(4616)

c++ 子类构造函数初始化及父类构造初始化

 我们知道,构造方法是用来初始化类对象的。如果在类中没有显式地声明构造函数,那么编译器会自动创建一个默认的构造函数;并且这个默认的构造函数仅仅在没有显式地声明构造函数的情况下才会被创建创建。    &...

赞(1)菜鸟菜鸟阅读(3687)

C++ vector的用法总结

vector 是向量类型,它可以容纳许多类型的数据,如若干个整数,所以称其为容器。它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的。 vector 是C++ STL的一个重要成员,...

赞(1)菜鸟菜鸟阅读(3058)

C++ set用法总结

顺序容器包括vector、deque、list、forward_list、array、string,所有顺序容器都提供了快速顺序访问元素的能力。 关联容器包括set、map 关联容器和顺序容器有着根本的不同:关联容器中的元素是按关键字来保存...

赞(1)菜鸟菜鸟阅读(4900)

C++ pair的基本用法总结

1,pair的应用 pair是将2个数据组合成一组数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。 pair的实现是一个...

赞(1)菜鸟菜鸟阅读(11732)

C++11列表初始化 - 花括号的使用

C++11之前主要有以下几种初始化方式: //小括号初始化 string str("hello"); //等号初始化 string str="hello"; //POD对象与POD数组列表初始化 struct Studnet { char*...

赞(2)菜鸟菜鸟阅读(5510)