![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
二零二三.
这个作者很懒,什么都没留下…
展开
-
C++ inline 变量
今天写力扣用记忆化搜索,想只创建一次数组,因为OJ 跑多个样例的时候 是通过创建多个实例来跑的,让这多个实例访问的 都是同一个 数组的话需要用到inline变量,通过现学了解到inline 变量时c++17新特性,可以实现只创建一次,让多个实例访问同一个数组。如:static inline int f[210][210];...原创 2021-11-12 15:21:42 · 875 阅读 · 1 评论 -
C++ memset函数
void *memset(void *s, int ch, size_t n);函数解释:将s中当前位置后面的n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法memset函数按字节对内存块进行初始化,memset(void *s, int ch,size_t n);中ch实际范围应该在0~~255,因为该函数只能取ch的后八位赋值给你所输入的范围的每个原创 2021-11-06 11:03:20 · 773 阅读 · 0 评论 -
将vscode 设置为enter选中补全代码
找到 keybindings.json文件的地址用记事本更改在最下面添加如下代码,{ "key": "enter", "command": "acceptSelectedSuggestion", "when": "editorTextFocus && suggestWidgetVisible" }保存退出即可原创 2021-09-19 20:13:02 · 680 阅读 · 0 评论 -
c++ 生产随机数的方法
mt19937 gen(random_device{}());//产生随机数 头文件是<random>uniform_int_distribution<int> dis(1,100000);//参数为生成随机数的类型,构造函数接受两个值表示区间段 头文件是<random>int main(){ mt19937 gen(random_device{}()); uniform_int_distribution<int> dis(1,100000)原创 2021-08-30 12:54:27 · 279 阅读 · 0 评论 -
c++ 用new创建一个数组
int *a = new int[100];//没有初始化int *a = new int[100]{};//全部初始化为0int *a = new int[100]{1,2,3,4,5};//初始化前五个,后五个为0原创 2021-07-16 22:21:05 · 2294 阅读 · 0 评论 -
map和unordered_map的下标操作
c[k] 返回关键字为k的元素: 如果k不在c中,添加一个关键字为k的元素,对其进行值初始化c.at(k) 访问关键字为k的元素,带参数检查;若k不在c中,抛出一个out_of_range异常原创 2021-07-06 10:16:16 · 611 阅读 · 0 评论 -
c++ 两种方法 求组合数
方法一如果int不够用就换成long long int C(int n, int m) //求组合数 { if (m < n - m) m = n - m; int ans = 1; for (int i = m + 1; i <= n; i++) ans *= i; for (int i = 1; i <= n - m; i++) ans /= i; return ans; }原创 2021-06-18 21:38:34 · 1405 阅读 · 0 评论 -
c++如何实现以任意数为底的对数(底数合法)log()
这是高中学过的换底公式c++对数函数 log() 是以e为底的对数函数log10()是以10为底的对数函数,如果要求结合上面的换底公式知,它 = log(n)/log(k)原创 2021-06-18 20:17:53 · 2023 阅读 · 0 评论 -
如何截断浮点数小数部分c++ floor
float floor (float x ); double floor (double x ); long double floor ( long double x );c++ 头文件<math.h>中的floor函数能够实现将一个浮点数的小数部分截断的功能,也就是返回一个不大于x的最大整数原创 2021-06-18 19:42:50 · 1316 阅读 · 0 评论 -
异或运算规律
1.a ⊕ a = 02. a ⊕ b = b ⊕ a3. a ⊕b ⊕ c = a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c;4. d = a ⊕ b ⊕ c 可以推出 a = d ⊕ b ⊕ c.5. a ⊕ b ⊕ a = b.6.若x是二进制数0101,y是二进制数1011,则x⊕y=1110比较特殊的有:根据两个相等的数异或值为零:如sum = a ^ b ^ c ^ d,如果随机删去一个变量比如删除b之后的异或和为sum1 = a ^ c ^ d,那么有sum1 = sum^原创 2021-05-22 19:49:30 · 5102 阅读 · 0 评论 -
c++ auto基本介绍
在C++11标准的语法中,auto被定义为自动推断变量的类型auto i = 5;//此时auto相当于intauto j = 5.0; //此时auto相当于doublemap<int,int>m;for(auto it=m.begin();it!=m.end();++it)//这里it被auto推断为map<int,int>::iterator类型{//....}不过必须给申明的变量赋予一个初始值,否则编译器在编译阶段将会报错。...原创 2021-04-27 10:14:23 · 388 阅读 · 0 评论 -
c++列表初始化返回值
在C++11之前,如果我们想要返回一组数据,我们必须在子函数中构造一个对应的容器,借助容器来进行返回。vector<int> process(){ vector<int> v={1,2,3,4} return v;}在新标准下,我们可以直接返回字面值,该字面值会用于容器的构造,而无需我们自己去构造。vector<int> process(){ return {1,2,3,4};}...原创 2021-04-27 09:27:27 · 510 阅读 · 0 评论 -
C++ string .at()函数的用法
string .at()用于获取指定字符string str;cin>>str; //str=="12345"char ch;ch = str.at(0);cout<<ch; //ch=='1';at(i),i就是想要获取的字符的下标,函数返回值为指定的字符原创 2021-04-08 22:25:14 · 22099 阅读 · 1 评论 -
c++动态数组创建
正确的方法int num = 0;cin>>num;int* p = new int[num]; //动态创建数组//最终释放创建的数组for(int j =0;j<num;j++){ delete[] p[i];}delete []p;错误的方法int i = 0;cin>>i;int p [i]; //错误 因为在编译阶段,编译器并不知道 i 的值是多少...原创 2021-03-27 08:27:27 · 387 阅读 · 0 评论