![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++基础
five_east_west
这个作者很懒,什么都没留下…
展开
-
实现c++中__builtin_popcount()函数相同效果的代码
自己用实现c++中的`__builtin_popcount()`功能相同的代码。原创 2023-06-15 19:56:34 · 381 阅读 · 0 评论 -
函数返回数组指针的几种方法
函数返回数组指针的几种方法,以及如何区分数组指针和指针数组原创 2022-06-17 09:48:47 · 2663 阅读 · 0 评论 -
c++中的auto与decltype
autoauto与decltype均能自动推导变量类型,但两者在很多方面右有着许多不同。auto是c++11新标准引入的类型说明符,它能让编译器自动分析表达式所属的类型,auto让编译器通过初始值来推算变量的类型。使用auto能在一条语句中声明多个变量,一条声明语句只能有一个基本数据类型,所以该句中所有变量的初始基本数据类型都一样。auto i = 0, *p = &i; // 正确;i是整数,p是整型指针auto sz = 0, pi = 3.14; // 错误;sz和pi的类型不一致原创 2022-05-28 09:40:37 · 311 阅读 · 0 评论 -
c++中二维数组的几种遍历方法
1.使用for语句输出多维数组的内容#include<iostream>using namespace std;int main(){ int a[][4] = {1,2,3,4,5,6,7,8,9,10,11,12}; for(int (&row)[4]:a) { for(int col:row) cout << col << '\t'; cout << endl原创 2021-12-31 16:54:58 · 4074 阅读 · 0 评论 -
c++中遍历一维数组的几种方法
1.使用auto进行遍历示例代码:#include<iostream>using namespace std;int main(){ int a[]={1,2,3,4,5,6,7,8,9,10}; for(auto ele:a) cout << ele << '\t'; puts(""); return 0;}输出如下:1 2 3 4 5 6 7 8 9 10 2.使用标准库函数begin、end进行遍原创 2021-12-31 13:43:55 · 2328 阅读 · 0 评论 -
c++中不存在从 “int“ 转换到 “std::vector<int, std::allocator<int>>“ 的适当构造函数
不存在从 “int” 转换到 “std::vector<int, std::allocator>” 的适当构造函数本人系统是win10,编辑器是vscode,编译器是MinGW-w64。在vector容器使用花括号初始化时,出现“不存在从 “int” 转换到 “std::vector<int, std::allocator>” 的适当构造函数”的报错。这是因为使用花括号初始化vector是c++11的特性,而貌似我配置的vscode默认不是c++11的标准,但是仍然可以在vsc原创 2021-07-25 00:56:20 · 6965 阅读 · 2 评论 -
C++ __builtin_系列函数
For a sequence a1,a2,…,ana_1, a_2, \ldots, a_na1,a2,…,an, consider the following operation fff: f(a)=b1,b2,…,bn−1f(a)={b_1, b_2, \ldots, b_{n-1}}f(a)=b1,b2,…,bn−1, where bi=∣ai−ai+1∣b_i=|a_i-a_{i+1}|bi=∣ai−ai+1∣.After applying the operation fff f转载 2020-10-21 09:54:51 · 755 阅读 · 0 评论 -
c++中的字符串分割函数——strtok
函数原型:char *strtok(char *s,const char *delim) 函数功能:按照给定的分隔符(delim)将字符串分割开描述:strtok()用来将字符串分割成一个个片段,参数s指向将要被分隔的字符串,参数delim则为分隔字符串,当strtok()在参数s的字符串中发现到参数delim的分隔字符是,则会将该字符改为 ‘\0’ 字符,在第一次调用时,strtok()必须给与参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回被分隔片段指针。代码示例原创 2020-08-08 16:09:45 · 464 阅读 · 0 评论 -
c++中的lower_bound和upper_bound函数
lower_bound:从已排序好的序列 a 中利用二分搜索找出指向满足 ai≥ka_i \geq kai≥k 的 aia_iai 的最小指针。upper_bound:求出已排序好的序列 a 中找出指向满足ai>ka_i>kai>k 的 aia_iai的最小指针。#include<iostream>#include<algorithm>using namespace std;int main(){ int a[5] = {2,3,4,5,6};原创 2020-08-04 08:56:50 · 285 阅读 · 0 评论 -
c++读取整行的方法,cin.getline 与 getline 用法的区别
string s;getline(cin, s);cout << s << endl;char s[100];scanf("%[^\n]%*c", s);printf("%s\n", s);char s[100];gets(s);printf("%s\n", s);char s[100]; cin.get(s,100);printf("%s\n", s);char s[100];cin.getline(s, 100)...原创 2020-07-27 20:44:36 · 573 阅读 · 1 评论 -
c++中求string类型长度的方法
c++中的string类型求长度有两种方法 str.length() 以及 str.size()string str;cin >> str; // 输入 "abcdefg"int len1 = str.size();int len2 = str.length();cout << len1 << ' ' << len2 << endl;代码运行结果:完整代码#include<bits/stdc++.h>using n原创 2020-07-26 20:49:47 · 6467 阅读 · 0 评论 -
c++的map类型按值排序案例
//map按值排序#include<iostream>#include<string>#include<vector>#include<map>#include<algorithm>using namespace std;typedef pair<string, int>PAIR;int cmp(const PAIR& x, const PAIR& y)//针对PAIR的比较函数{ return原创 2020-07-23 14:20:53 · 165 阅读 · 0 评论