c++
suwei95
这个作者很懒,什么都没留下…
展开
-
数组指针和指针数组;引用数组和(const)数组引用
int a[4]: 表示a是一个数组,数组大小为4,存储的数据类型为int型int* a[4]: 表示a是一个指针数组,数组大小为4,存储的是指向int型数据的指针。[]的优先级比*高,a先于[]结合构成一个数组,int* 表示a[4]数组中存储的数据类型。int (*b)[4]:表示(*b)是一个数组,数组大小为4,存储的数据类型为int型。既然(*b)表示一个数组,那么b就表示一个指向数组的指针,所以这就是数组指针。用法如下:#include <stdio.h>in..原创 2020-05-14 11:41:01 · 436 阅读 · 0 评论 -
输出字符串时,printf与cout的区别
最近写了了一段代码 std::string* str=new std::string("1233"); std::string& tem=*str; printf("str=%s\n",str->c_str()); printf("tem=%s\n",tem.c_str()); std::cout<<"str="<<*str<<std...原创 2020-05-05 17:06:17 · 427 阅读 · 1 评论 -
linux下线程之间pipe通信c++练习
首先是用pipe在主线程和子线程通信,而且read是阻塞的#include <pthread.h>#include <unistd.h>#include <stdlib.h>#include <stdio.h>#include <fcntl.h>typedef struct __Thread{ pthread...原创 2020-04-22 23:46:49 · 817 阅读 · 0 评论 -
bitset只能处理数字型的字符串
最近在使用bitset时,发现bitset只能处理数字型的字符串,但不明白原因, string strval("1100"); bitset<8> kkk(strval);上面的代码可以编译通过,但是改为带字符的字符串时,编译就报错了 string strval("110h"); bitset<8> kkk(strval);...原创 2020-04-13 23:15:59 · 399 阅读 · 0 评论 -
为什么c++中对赋值号"="的重载只能使用成员函数而不可以使用友元函数,而对标准输入输出符的重载要使用友元函数?
首先对标准输入输出符号的重载,如果不定义为友元函数,而是定义为Class Test 类的成员函数void operator<<(std::ostream& os);obj是Test的对象,那调用格式就成了obj<<std::cout;这样就和使用惯例和常例不符,而且也不能链式使用std::cout<<obj<<obj<<...原创 2020-04-05 14:31:00 · 2425 阅读 · 4 评论 -
static 和const分别怎么用,类里面static和const可以同时修饰成员函数吗?
static的作用:对变量:1.局部变量:在局部变量之前加上关键字static,局部变量就被定义成为一个局部静态变量。 1)内存中的位置:静态存储区 2)初始化:未经初始化的全局静态变量会被程序自动初始化为0(自动对象的值是任意的,除非他被显示初始化) 3)作用域:作用域仍为局部作用域,当定义它的函数或者语句块结束的时候,作用域随之结束。注:当static用来修饰局部变量的时...转载 2020-03-19 18:11:53 · 370 阅读 · 0 评论