
C++
嗯行家啊
慢慢学吧,加油!
展开
-
expected identifier or ‘(’ before ‘***’
问题描述:产生这个报错的原因是因为我在定义全局变量之后在全局区就用for循环进行初始化,而for循环只能在函数中被调用所以产生了错误,解决方法:把初始化放进main函数中@Overridestruct THREAD{ int cfd; pthread_t tid; struct sockaddr_in client; };//定义全局变量struct THREAD thread[100]; //结构体数组int k;for(k = 0; k <原创 2022-01-03 20:39:08 · 2464 阅读 · 0 评论 -
const常量、const指针、指向const常量的指针和指向常量的const指针的区别
1. const常量变量可以通过const关键字定义为常量,并且常量定义的时候必须为其赋值初值,一旦定义为常量后其值就不能更改,定义格式:const type var_name = 初始值; const int num = 10; // 必须在定义的时候就初始化,后续不能再进行初始化 num = 11; //错误,常量的值不能更改 int num2 = num; // 可以执行,这里是将num的值赋值给其他变量,并没有修改num的值2. const指针将指针定义为不可变,其所指向的地址一旦原创 2021-07-03 13:41:51 · 257 阅读 · 0 评论 -
C++用ofstream先写入文件再用ifstream读取文件,数据读取失败
先上代码:#include<string>#include<iostream>#include<fstream>using namespace std;int main() { string sarr[] = {"this","study","unable","to","open","the","necessary","the","end","unable","this","open"}; int str_size = sizeof(sarr) / siz原创 2021-05-18 11:15:01 · 1064 阅读 · 0 评论 -
使用copy函复制vector对象,将vector作为函数参数时发生 Debug Assertion Failed 错误
先来看一下代码:#include<vector>using namespace std;int main() { const int elem_size = 8; int ia[elem_size] = { 12,8,43,0,6,21,10,7 }; vector<int> ivec(ia, ia + elem_size); vector<int> ivec2; copy(ivec.begin(), ivec.end(), ivec2.begin())原创 2021-05-17 12:13:42 · 416 阅读 · 0 评论 -
一文看懂哈希表并学会使用C++ STL 中的哈希表
最近在刷题以及做编程练习的作业时经常会用到哈希表,碰到一些想用的函数时每次都看别人的博客,现结合别人的博客对哈希表做个总结。本篇哈希表的作用如何使用STL库中的哈希表STL中哈希表的常用函数哈希表的作用如何使用STL库中的哈希表STL中哈希表的常用函数...原创 2021-05-17 11:22:49 · 62271 阅读 · 7 评论 -
关于vector在类中声明出错的情况
文章转载自:https://blog.youkuaiyun.com/biechusheng231/article/details/80034126当我们在类声明文件(类.h)中定义了一个vector变量时,如果直接在其后对其初始化:class A{public: A(); ~A();private: vector<int> nums(10); //出错,不能直接调用vector的析构函数赋值};原因是在类声明.h 文件中不能直接调用vector类的析构函数赋值,应先转载 2021-04-28 21:08:55 · 859 阅读 · 0 评论 -
类中定义static变量后,visual studio编译时提示LNK2001“无法解析的外部符号”
编译结果如下:原因:当我们在定义的类内要使用自己所定义的静态变量时,由于我们类内定义该静态变量时未对其进行初始化,因此要解决这个问题,要在类外的使用class scope(::)对它进行初始化解决方法:Class A{static int var;}int A::var = 0; //对静态变量初始化```...原创 2021-04-28 20:59:23 · 993 阅读 · 0 评论 -
二维数组作为函数的参数和返回值
1. 二维数组作为函数的参数 (1)错误的做法:将二维数组传递给二维指针//实参是二维数组,形参是int**,这样做的话编译器会报错int main() { int arr[3][4] = { 1,2,3,4,5,6,7,8,9,10,11,12 }; int row = sizeof(arr) / sizeof(arr[0]); //行数 int column = sizeof(arr[0]) / sizeof(arr[0][0]); //列数原创 2021-04-28 20:56:35 · 3833 阅读 · 2 评论 -
输出指向字符/字符串数组的指针变量输出乱码的情况
首先来看一下以下几种情况: char c = 'M'; char s1[] = { 'M','o','n','d','a','y' }; char s2[] = "Monday"; int num[] = { 1,2,3 }; char* cpt = &c; char* spt1 = s1; char* spt2 = s2; int* numpt = num; cout << cpt << endl;原创 2021-04-24 11:21:07 · 1457 阅读 · 0 评论 -
C++实现先序创建二叉树,并用递归和非递归两种方式二叉树中序遍历
C++实现先序创建二叉树,并用递归和非递归两种方式二叉树中序遍历这是数据结构课堂留下的一个作业: 题目是:按先序次序输入二叉树中的结点的值(data为字符类型),以’#'表示空字符,创建二叉链表示二叉树。函数原型如下: void CreateBiTree(BiTree *T);//创建二叉树函数 void InOrderTraverse(BiTree T); //利用栈以非递归的方式实现中序遍历上述二叉树二叉链表的定义如下:typedef struct BiTNode{ c原创 2021-04-18 17:14:45 · 3560 阅读 · 0 评论