c
-
C++ unordered_map及其基本结构和特性
unordered_map 包含的是有唯一键的键/值对元素。容器中的元素不是有序的。元素的位置由键的哈希值确定,因而必须有一个适用于键类型的哈希函数。如果用类对象作为键,需要为它定…
-
C++ hash(STL hash)及其函数模板用法详解
如果在容器中保存对象及其关联的键,并且不用键来决定 键/对象 对的顺序,那就必须对键值釆用其他方式来确定元素在内存中的位置。如果使用像 string 这样的对象作为键,就会遇到一些…
-
C++ pair(STL pair)类模板的用法详解
我们已经知道 pair<const K, T> 对象是如何封装键及其关联的对象,也了解了 pair<const K, T> 对象是如何表示map容器中的元素…
-
C语言求勾股数(详解版)
问题描述 求100以内的所有勾股数。 所谓勾股数,是指能够构成直角三角形三条边的三个正整数(a,b,c)。 问题分析 根据“勾股数”定义,所求三角形三边应满…
-
C++ stack(STL stack)用法详解
容器适配器是一个封装了序列容器的类模板,它在一般序列容器的基础上提供了一些不同的功能。之所以称作适配器类,是因为它可以通过适配容器现有的接口来提供不同的功能。 stack<T…
-
C语言标准头的使用
每个标准库函数都会被声明在一个或多个标准头(standard header)中。这些标准头也包括了 C 语言标准提供的所有宏和类型的定义。 每个标准头都包含一组相关的函数声明、宏和…
-
C语言预定义的宏
凡是遵循 ISO C 标准的编译器都必须定义下面 7 个宏。这些宏的名称都是以两个下划线开始,以两个下划线结束: (1) __DATE__ 它的替换文本是一个包含编译日期的字符串字…
-
C++11右值引用详解
能出现在赋值号左边的表达式称为“左值”,不能出现在赋值号左边的表达式称为“右值”。一般来说,左值是可以取地址的,右值则不可以。 非 …
-
C++11 auto和decltype关键字
可以用 auto 关键字定义变量,编译器会自动判断变量的类型。例如: auto i =100; // i 是 int auto p = new A(); // p 是 A* aut…
-
C++11 Lambda表达式(匿名函数)详解
使用 STL 时,往往会大量用到函数对象,为此要编写很多函数对象类。有的函数对象类只用来定义了一个对象,而且这个对象也只使用了一次,编写这样的函数对象类就有点浪费。 而且,定义函数…