c++基础
文章平均质量分 92
zzuzxy
牛顿说:“我不知道世人怎样看我,但我自己以为我不过像一个在海边玩耍的孩子,不时为发现比寻常更为美丽的一块卵石或一片贝壳而沾沾自喜,至于展现在我面前的浩翰的真理海洋,却全然没有发现。”
展开
-
bitset类型, 标准库类型
C++ primer 17.2bitset类型, 标准库类型1 使得位运算更容易实现, 并且能够处理超过最长整型大小的位集合. bitset定义在bitset中 定义和初始化bitset 1 bitset<n> b; b有n位,每一位均为0,从零开始 2 bitset<n>b(u); b是一个unsigned long long 值u的低n...原创 2017-08-15 21:47:22 · 445 阅读 · 0 评论 -
C++ STL 容器适配器(queue,priority_queue,stack)
queueFIFO(First in First out)queue&amp;amp;amp;lt;int&amp;amp;amp;gt; q; // 初始化&amp;amp;amp;lt;&amp;amp;amp;gt;里可以是任何类型q.push(10); //在末尾添加元素q.front(); // 返回队列首元素q.back(); // 返回队列末尾元素q.empty()转载 2018-03-21 21:42:18 · 289 阅读 · 0 评论 -
C++ 关联容器, map,set
关联容器支持高效的关键词查找和访问。 两个主要的关联容器类型是map和set map 中的元素是关键字-值对应(key - value)。 关键字起到了索引的作用 set 中只有一个关键字, set 支持高效的关键字查询操作- 检查一个给定的关键字是否在set 中。关联容器的类型 按关键字有序的保存元素map // 关联数组: 保存关键字-值set // 关键字即值,即只保...转载 2018-03-21 22:41:45 · 182 阅读 · 0 评论 -
C++ pair 模板类型
pair一个pair 保存两个数据成员。 类似容器,pair 是一个用来生成特定类型的模板。 当创建一个pair 时,必须提供两个类型名,pair 的数据成员将具有对应的类型 例如pair<string,string> p;pair<string,size_t> w;pair<string,vector<int>> line;...原创 2018-03-21 22:51:42 · 332 阅读 · 0 评论 -
c++中处理2进制的一些函数
— Built-in Function: int __builtin_ffs (unsigned int x)Returns one plus the index of the least significant 1-bit of x, or if x is zero, returns zero.返回右起第一个‘1’的位置。— Built-in Function: int __built...转载 2018-04-22 18:29:34 · 1352 阅读 · 0 评论 -
二项系数的奇数项
二项系数的奇数项 已知整数 n ,求关于 n 的所有二项系数 C(n,0)C_( n , 0 )C(n,0) , C(n,1)C_( n , 1 )C(n,1) , … , C(n,n)C_( n , n )C(n,n) 中有多少项结果为奇数。 卢卡斯定理的扩展printf("%d\n",1<<__builtin_popcount(n));...转载 2018-04-22 18:56:42 · 919 阅读 · 0 评论 -
实用math 库函数总结
实用库函数总结gammatgamma(n) 求 (n-1)! 的值 lgamma(n) 求 ln[(n-1)!] 的值原创 2018-06-08 12:20:49 · 471 阅读 · 0 评论 -
C++ string
#include&amp;amp;lt;string&amp;amp;gt;using std::string1 初始化string s1 //默认初始化,s1是一个空串string s2(s1); // s2是s1的副本 等价于 string s2=s1;string s3(“value”); //s3是字面值“value”的副本,除了字面值最后的空字符除外string s3=“v...转载 2018-03-21 22:10:05 · 1211 阅读 · 0 评论 -
STL 顺序容器
顺序容器vector 可变数组,支持快速随机访问,在尾部之外的位置插入或删除元素非常慢deque 双向队列 支持快速随机访问,在头尾插入、删除速度很快list 双向链表, 只支持双向顺序访问forward_list 单向链表, 只支持单向链表顺序访问,在任何插入、删除都很快array 固定数组大小 支持支持快速随机访问,不能添加或者删除元素string 与vector 相似,...原创 2017-07-17 22:11:54 · 243 阅读 · 0 评论 -
泛型算法
泛型算法 算法共性 (算法命名规则) 例如unique和sort unique(a.begin(),a.end()) 或者自己定义unique(a.begin(),a.end(),com) 第一个通过自定义的 = 来判断 第二个 通过com 来判断是否相等,sort 若不加comp函数, 则通过自定义的<来定义...原创 2017-07-14 23:39:49 · 247 阅读 · 0 评论 -
lambda 表达式
lambda 表达式[]空捕获列表,不能使用所在函数的变量[names] lambda所在函数的局部变量[&}隐式捕获列表,采取引用捕获方式【=】隐式捕获列表,采取值捕获[ &,identifier_list][=, identifier_list]可变lambda 默认情况下,值传递不会改变原来的值,如果想要更改mutable{} ...原创 2017-07-16 22:55:52 · 166 阅读 · 0 评论 -
inline 内联函数 constexper 函数 函数重载与函数匹配
累的函数inline 内联函数 constexper 函数 函数重载与函数匹配inline 适用范围 用于优化规模小,流程直接,频繁调用的函数constexper (const function) 函数 函数的返回值及所有的形参的类型都得是字面值类型constexpr int new new_sz(void){return 42;)函数匹配 constexpr int...原创 2017-07-16 22:53:51 · 388 阅读 · 0 评论 -
14 重载运算和类型转换
14 重载运算和类型转换 14.1基本概念 14.2 基本输入输出运算符 14.3 算术和关系运算符 14.4 赋值运算符 14.5 下标运算符 14.6 递增和递减运算符 14.7 成员访问运算符 14.8 函数调用运算符 14.9 重载,类型转换,运算符 14.1 重载的运算符是具有特殊性质的函数, 他们的名字由关键字operator 和其后要定义的运算符号共同组成 规则 不能...原创 2017-07-12 17:31:19 · 223 阅读 · 0 评论 -
initializer_list 形参 标准库类型
initializer_list 形参 标准库类型 用于表示某种特定的值的数组 优点在于可变长传递参数 例如#include<iostream>#include<initializer_list>//包含头文件#include<vector>void sum1(std::initializer_list<int> il)//...原创 2017-07-15 23:51:40 · 304 阅读 · 0 评论 -
struct 和class
struct1. c++中的结构体可以有一个或多个构造函数,在声明时调用。2. c++中的函数(不只是构造函数),参数可以有默认值。3. c++ 结构体的成员函数中,this是指向当前队形的指针。struct Point{ int x,y; Point (int x=0,y=0):x(x),y(y){}//可以默认值};struct Poi...原创 2017-07-15 00:07:04 · 250 阅读 · 0 评论 -
以二进制方式或者文本方式
文章目录以二进制方式打开文件和以字节方式保存文件的区别无论是c/c++,python 都有一个问题,以什么样的方式打开文件,或者写入文件,他们有什么区别呢?其实例子很简单例如 我们现在有int x = 23456需要将x存入文件中以二进制方式存入: 占用4个字节,因为int类型是4个字节以字节方式存入 : 占用5个字节,因为保存的时候讲23456转换成字符串"23456" 存...原创 2019-02-24 15:11:40 · 257 阅读 · 0 评论