
C++
caychen
码云:https://gitee.com/caychen/
github:https://github.com/caychen
展开
-
C++ STL(23):Insert Iterator(插值迭代器)
#include <iostream>#include <iterator>#include <list>#include <vector>#include <set>#include <algorithm>//Iterator Classes迭代器类:Insert Iteratorint main(){ ...原创 2018-03-30 10:37:14 · 1256 阅读 · 0 评论 -
C++11特性(13):原子操作及原子数据类型(1)
#include <iostream>#include <thread>#include <atomic> //C++11新头文件 for atomic_***原子数据类型#include <windows.h> // for Sleep //原子操作及原子数据类型//原子数据类型:std::atomic_***//C11的头...原创 2018-03-27 12:09:02 · 5178 阅读 · 0 评论 -
C++ STL(15):分割算法
#include <iostream>#include <algorithm>#include <iterator>#include <vector>//分割算法int main(){ /************************************************************************/...原创 2018-03-27 12:07:10 · 1023 阅读 · 0 评论 -
C++ STL(14):排列算法
#include <iostream>#include <algorithm>#include <iterator>#include <vector> //排列算法int main(){ /*********************************************************************...原创 2018-03-27 12:04:59 · 499 阅读 · 0 评论 -
C++ STL(13):移除元素
#include <iostream>#include <algorithm>#include <vector>#include <iterator>#include <string>#include <functional> template<typename Container>void Pri原创 2018-03-27 12:03:07 · 596 阅读 · 0 评论 -
C++11特性(12):变长模板
#include <iostream>#include <cstdarg>#include <string> //回顾可变参数(变长函数)template<typename T>T SumOfValues(int nCount, ...){ T Sum = 0; va_list vl; va_start(v...原创 2018-03-26 13:51:15 · 1013 阅读 · 0 评论 -
C++11特性(11):常量表达式(值)
#include <iostream>#include <iterator> //for ostream_iterator //常量表达式//1、运行时常量性与编译时常量性即const与constexprconst int GetConst(){ return 1; } //运行时常量constexpr int GetConstexpr(){ return 1;...原创 2018-03-26 13:50:11 · 1313 阅读 · 0 评论 -
C++ STL(12):填充区间
#include <iostream>#include <algorithm>#include <iterator>#include <functional>#include <vector> int rnd(){ return rand() % 100;} //填充区间int main(){ ...原创 2018-03-26 13:48:41 · 854 阅读 · 0 评论 -
C++ STL(11):元素替换
#include <iostream>#include <algorithm>#include <vector>#include <string>#include <iterator>#include <functional>//元素替换int main(){ /******************...原创 2018-03-26 13:47:05 · 4637 阅读 · 0 评论 -
C++ STL(10):transform(转换运算)
#include <iostream>#include <algorithm>#include <vector>#include <iterator>#include <functional> //transformint main(){ /************************************...原创 2018-03-26 13:45:06 · 2946 阅读 · 0 评论 -
C++11特性(14):原子类型与操作(2)及快速退出
#include <iostream>#include <cstdlib>#include <thread>#include <atomic> //C++11新头文件 for atomic_***原子数据类型 //原子操作及原子数据类型/* typedef enum memory_order { memory_ord...原创 2018-03-27 12:10:45 · 608 阅读 · 0 评论 -
C++11特性(15):指针空值nullptr
#include <iostream> //指针空值nullptr/* 规则: 1、所有定义为nullptr_t类型的数据都是等价的,行为也完全一致 2、nullptr_t类型数据可以隐式转换成任意一个指针类型 3、nullptr_t类型数据不能转换为非指针类型,即使使用reinterpret_cast<...原创 2018-03-27 12:12:06 · 1110 阅读 · 0 评论 -
C++ STL (16):随机重排与抽样
#include <iostream>#include <algorithm>#include <iterator>#include <vector>//随机重排与抽样int main(){ /***********************************************************************...原创 2018-03-29 16:18:06 · 2484 阅读 · 0 评论 -
C++ STL(22):heap堆操作
#include <iostream>#include <algorithm>#include <iterator>#include <cassert>#include <functional>#include <vector> //堆操作/* 原始堆中的每个元素都以任意顺序安插,但移除的顺序是由最大...原创 2018-03-29 16:40:54 · 1073 阅读 · 0 评论 -
C++ STL(21):Sorted Ranges上的set操作
#include <iostream>#include <algorithm>#include <iterator>//Sorted Ranges上的set操作int main(){ /************************************************************************/ //inclu...原创 2018-03-29 16:38:50 · 538 阅读 · 0 评论 -
C++ STL(20):Sorted Range上的合并算法
#include <iostream>#include <algorithm>#include <iterator>//Sorted Range上的合并算法int main(){ /************************************************************************/ //merge ...原创 2018-03-29 16:35:38 · 644 阅读 · 0 评论 -
C++ STL(19):Sorted Range上的查找算法
#include <iostream>#include <algorithm>//Sorted Range上的查找算法int main(){ /************************************************************************/ //binary_search /*****************...原创 2018-03-29 16:34:04 · 470 阅读 · 0 评论 -
C++11特性(18):对齐方式
#include <iostream> //对齐支持//C++11标准定义alignof来查看数据的对齐方式//Microsoft定义为__alignof来查看数据的对齐方式struct EmptyStruct{};class EmptyClass{};class EmptyClass1;struct HowManyBytes{ char a; i...原创 2018-03-29 16:23:49 · 1291 阅读 · 0 评论 -
C++11特性(17):lambda函数
#include <iostream>#include <vector>#include <algorithm> //for_each...#include <functional> //plus<int>()...#include <numeric> //accumulate... //l...原创 2018-03-29 16:22:51 · 1290 阅读 · 0 评论 -
C++11特性(16):默认函数控制
#include <iostream> //默认函数控制/* 构造函数 拷贝构造函数 拷贝赋值函数 移动构造函数 移动拷贝函数 析构函数 ================================== operator , operator & operator &a...原创 2018-03-29 16:21:53 · 452 阅读 · 0 评论 -
C++ STL(18):排序算法
#include <iostream>#include <algorithm>#include <functional> //for greater#include <iterator>#include <vector>#include <math.h>#include <assert.h> cla原创 2018-03-29 16:20:37 · 489 阅读 · 0 评论 -
C++ STL(17):数值算法
#include <iostream>#include <algorithm>#include <numeric> //for inner_product, accumulate, partial_sum#include <iterator>#include <vector>#include <time.h> //f...原创 2018-03-29 16:19:15 · 767 阅读 · 1 评论 -
C++ STL(9):偏移
#include <iostream>#include <algorithm>#include <vector>#include <assert.h>//偏移int main(){ /************************************************************************/ /...原创 2018-03-24 21:31:14 · 855 阅读 · 0 评论 -
C++ STL(8):元素交换
#include <iostream>#include <algorithm>#include <vector>//交换元素int main(){ /************************************************************************/ //swap /****************...原创 2018-03-24 21:29:53 · 2762 阅读 · 0 评论 -
C++ STL(7):拷贝区间
#include <iostream>#include <algorithm>#include <vector>#include <iterator>//拷贝区间int main(){ /************************************************************************/...原创 2018-03-24 21:28:37 · 1655 阅读 · 0 评论 -
C++ STL(6):最值
#include <iostream>#include <ostream>#include <algorithm>#include <list>#include <vector>class ComplexTest{ public: ComplexTest(int r = 0, int i = 0):real(r),im...原创 2018-03-23 12:43:50 · 507 阅读 · 0 评论 -
C++ STL(5):范围Range的比较
#include <iostream>#include <vector>#include <algorithm>#include <cstring>bool lt_nocase(char c1, char c2){ return toupper(c1) < toupper(c2);}bool equal_nocase(cha...原创 2018-03-23 12:40:36 · 1963 阅读 · 0 评论 -
C++ STL(4):计算元素个数
#include <iostream>#include <algorithm>#include <functional>//计算元素个数int main(){ /************************************************************************/ //count /*********...原创 2018-03-23 12:29:27 · 2000 阅读 · 0 评论 -
C++ STL(3):子序列匹配
#include <iostream>#include <algorithm>#include <cstring>bool eq_nosign(int x, int y){return abs(x) == abs(y);}void lookup(int *first, int *last, size_t nCount, int val){ ...原创 2018-03-22 22:59:51 · 1398 阅读 · 0 评论 -
C++ STL(2):线性查找
#include <iostream>#include <algorithm>#include <vector>#include <cstring>//STL:线性查找int main(){ int a[] = {4, 1, 6, 9, 7, 1, 0}; size_t len = sizeof a / sizeof a...原创 2018-03-22 22:57:34 · 1137 阅读 · 0 评论 -
C++ STL(1):初始化列表
#include <iostream>#include <cstdarg> //for va_list, va_start, va_arg, va_end#include <memory> //for uninitialize_copy,...#include <algorithm> template<typenam...原创 2018-03-22 22:55:26 · 880 阅读 · 0 评论 -
C++11特性(6):POD类型
#include <iostream> /**********************************************************///测试类型是否是平凡的struct Trivial1{};struct Trivial2{ int a, b; }; struct Trivial3{ Trivial1 t1; ...原创 2018-03-22 22:48:20 · 604 阅读 · 0 评论 -
C++11特性(5):explicit、列表初始化
#include <iostream>#include <vector>#include <map> //1、显示转化操作符explicitstruct Rational1{ //没有explicit修饰的构造函数可以隐式调用,可以将某种类型隐式转化为类类型 Rational1(int n = 0, int d = 1):num(...原创 2018-03-22 22:46:53 · 897 阅读 · 0 评论 -
C++11特性(4):右值引用
#include <iostream> //右值引用//前瞻:浅拷贝和深拷贝class ShollowCopyClass{public: ShollowCopyClass() :i(new int(0)){} ShollowCopyClass(const ShollowCopyClass& s) :i(s.i){} //只是...原创 2018-03-22 22:45:04 · 522 阅读 · 0 评论 -
C++11特性(7):auto、decltype(自匹配类型)
#include <iostream>#include <vector> //auto和decltype推导double foo(){ return 0.0; }int& bar(){ int a = 0; return a; }float *bar1(){ float a = 0.0f; return &a; } class White{}...原创 2018-03-23 12:47:11 · 758 阅读 · 0 评论 -
C++11特性(2):快速初始化变量、final和override、模版函数
#include <iostream> struct init{ int a = 1; //1、快速初始化成员变量 //在成员快速初始化阶段时,不能使用()来初始化, //对于非静态成员变量只能使用=或者{}来进行快速初始化 std::string s{ "sss" }; //std::string s("aaa");----&g...原创 2018-03-20 11:53:29 · 590 阅读 · 0 评论 -
C++11特性(3):继承构造函数和委派构造函数
#include <iostream>#include <algorithm>#include <functional> #define _NONOTE //1、继承构造函数class A{public: A(int i) {} A(double d) {} A(int i, double d){} v...原创 2018-03-20 11:54:43 · 582 阅读 · 0 评论 -
C++11特性(10):智能指针与垃圾回收
#include <iostream>#include <memory> //for unique_ptr、shared_ptr、weak_ptr //智能指针与垃圾回收void CheckWeakPtr(std::weak_ptr<int> & wp){ std::shared_ptr<int> sp = wp.loc...原创 2018-03-24 21:26:16 · 729 阅读 · 0 评论 -
C++11特性(9):强枚举类型enum
#include <iostream> namespace T //命名空间T{ enum Color{ Black, Gray, Green };}namespace S{ enum Size{ Small = 1, Middle, Large };}namespace //匿名命名空间(全局){ enum Color{Black,Bl...原创 2018-03-24 21:25:03 · 1358 阅读 · 0 评论 -
C++11特性(8):追踪返回类型、范围for
#include <iostream>#include <vector>#include <algorithm> //追踪返回类型template<typename T1, typename T2>auto Sum(const T1 &t1, const T2 &t2) ->decltype(t1 + t2){ ...原创 2018-03-24 21:23:51 · 418 阅读 · 0 评论