c++
知识点
- C++ R 原始字符串 R 表示方法,R是原始字符串
原始字符串的开始符号 :R”( , 原始字符串的结束符号:)”。R” 与 ( 之间可以插入其它任意字符串。
不做任何转义
例如下列代码1
2
3
4
5
6
7
8
9
10std::string str1 = "aaaaaa.\nbbbb.\ncccc.\n";
cout << str1 <<endl;
cout << "---------------------" <<endl;
std::string raw_str = R"(aaaaaa\nbbbb\ncccc\n)";
cout << raw_str <<endl;输出结果为
1
2
3
4
5aaaaaa
bbbb
cccc
aaaaaa\nbbbb\ncccc\n可以输入多行文本
1
2
3
4
5
6
7
8
9const std::string json_text = R"(
{
"name": "Judd Trump",
"credits": 1754500,
"ranking": 1
}
)";
j = json.parse(json_text)
- cin、cout与scanf、printf的区别
如果数据范围<1e5,那么cin、cout和scanf、prinf速度差不多 但是当数据范围>1e5,那么cin、cout会比scanf、printf慢一倍或更多
- memset函数
void memset(void str,int c,size_t n)
解释:复制字符c(一个无符号字符到参数str所指向的字符串的前n个字符)
作用:是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法。
头文件:C中#include
主要就是用于初始化,但是需要注意的是memset赋值的时候是按照字节赋值,是将参数化成二进制之后填入一个字节。
memset赋值不一定只能赋值为0,任意字符都是可以的。初始化成0是最常用的,int类型的一般都是赋值0或-1,其他的值都不行。
为地址str开始的n个字节赋值c,注意:是逐个字节赋值,str开始的n个字节中的每个字节都赋值为c。
- 若str指向char型地址,value可为任意字符值。
- 若str指向非char型,如int型地址,要想赋值正确,value的值只能是-1或0,因为-1和0转化成二进制后的每一位都一样,设int型占4个字节,则-1=0XFFFFFFFF,0=0X00000000。
举例:给数组赋值-1
1 | int A[2]; |
memset初始化为无穷大
1 | memset(a , 0x3f , sizeof a); |
- abs函数
函数原型:int abs(int i);
作用:求数据的绝对值。
头文件:c:stdlib.h c++:iostream 或 cmath 头文件中定义的
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Komorebi-blog!