摘要:
本文介绍的常数优化方法或者能使代码略微加速,或者是一般人写代码时就习惯写成较快的方式 注意STL函数的时间复杂度 例1: 以下遍历char[]的两种方法 for(int i = 0; i < str.size(); i++) 和 for(int i = 0, len = str.size(); i 阅读全文
posted @ 2022-12-03 11:35
xj22yangyichen
阅读(29)
评论(0)
推荐(0)
摘要:
本文介绍的常数优化方法能使代码加速到原来的一半甚至更快 使用union类 定义 union是一种特殊的类,定义方法如下(定义在main内或main外都可以) union Union{ int a; double b; char c; }; Union u; 互斥的特性 union的所有成员存储在同一 阅读全文
posted @ 2022-12-03 11:32
xj22yangyichen
阅读(43)
评论(0)
推荐(0)
摘要:
## 累加函数 ```cpp accumulate(first, last, val, op); ``` first 和 last 表示序列(可以是数组、vector、array 等)的首尾指针/迭代器,val 表示操作的初始值,op 表示运算符,进行累加、累减、累乘还是累除 ```cpp #inc 阅读全文
posted @ 2022-12-03 11:29
xj22yangyichen
阅读(60)
评论(0)
推荐(0)
摘要:
本文所有代码均使用头文件valarray和iostream,并定义print函数如下 template <typename T> void print(const valarray<T> &va){ for(unsigned i = 0; i < va.size(); i++) cout << va 阅读全文
posted @ 2022-12-03 11:19
xj22yangyichen
阅读(111)
评论(0)
推荐(0)
摘要:
获取某一位的值 获取x右数第i位的值 x & (1 << (i - 1)) 若结果为0,则第i位的值为0;否则第i位的值为1 把一个或多个位的值置0 把x右数第i位置0 x & (~(1 << (i - 1)) 指定多个位置置0,例如 x & (~(3 << 2)) 实现了将x的右数第3位和第4位置 阅读全文
posted @ 2022-12-03 11:15
xj22yangyichen
阅读(16)
评论(0)
推荐(0)
摘要:
基础操作 str.size(); || str.length();//返回字符串的长度 str1.swap(str2); || swap(str1, str2);//交换str1和str2,建议用第一种方法 str.substr(num1, num2);//返回str中以num1为起点的num2个字 阅读全文
posted @ 2022-12-03 11:13
xj22yangyichen
阅读(31)
评论(0)
推荐(0)