随笔分类 - c++
摘要:static_cast<> 在 C++ 中是一种用于执行显式类型转换的运算符,它在编译时检查类型转换的有效性,比 C 风格的强制转换(如 (int)x)提供了更强的类型检查。 基本类型之间的转换 用于基本数据类型(如 int、float、double 等)之间的转换,使得不同类型的数据可以进行操作。
阅读全文
摘要:介绍 双指针是一种思想,一种技巧或一种方法,并不是什么特别具体的算法,在二分查找等算法中经常用到这个技巧。具体就是用两个变量动态存储两个或多个结点,来方便我们进行一些操作。通常用在线性的数据结构中,比如链表和数组,有时候也会用在图算法中。 在我们遇到像数组,链表这类数据结构的算法题目的时候,应该要想
阅读全文
摘要:二维都变长的二维容器数组 1、在C++中,可以这样初始化一个二维vector数组并指定大小: cpp vector<vector<int>> vec(3, vector<int>(4)); 这个代码会创建一个3行4列的二维vector数组,每个元素初始化为0:vec = [0 0 0 0][0 0
阅读全文
摘要:sizeof() 是一个运算符,而 strlen() 是一个函数。 sizeof() 计算的是变量或类型所占用的内存字节数,而 strlen() 计算的是字符串中字符的个数。 sizeof() 可以用于任何类型的数据,而 strlen() 只能用于以空字符 ‘0’ 结尾的字符串。 注意: char
阅读全文
摘要:setprecision: 控制输出浮点数的有效位 (与fixed一起用,保留n位小数) double a; cin>>a; cout << setprecision(5) << a << endl; 输入:12.345678 输出:12.345 double a; cin>>a; cout <<
阅读全文
摘要:二分法求 有序序列第一个满足某个条件的元素的位置的方法(模版): //二分区间为左闭右闭[left, right],初始值left、right必须覆盖解的所有可能 int solve(int left, int right){ int mid; while(left < right){ //对于[l
阅读全文
摘要:首先,两者均在头文件cstdio之下 scanf就是把screen的内容以%d的形式传输到n中(即从左往右),而printf则是把n以%d的形式传输到screen中(从右往左) sscanf和sprintf与上面格式相同,但是需要把screen换成字符数组 例子: char str[100]; ss
阅读全文