随笔分类 - C++
摘要:一、const 修饰的量叫常量,它和普通变量的区别是什么? C++有两点: 1、编译方式不同,用立即数替换 2、不能作为左值被修改 二、const修饰的量(即常量)常出现的错误是: 1、常量不能再作为左值(即不能直接修改常量的值) 2、不能把常量的地址(&a)泄漏给一个普通的指针(p)或者普通的引用
阅读全文
摘要:参考文章:http://c.biancheng.net/view/1363.html
阅读全文
摘要:摘自<<C和指针>>3.23 int *a; int* a; 两者意思相同且后者看上去更为清楚:a被声明为类型为 int* 的指针. 但是,这并不是一个好技巧,原因如下: int* b, c, d; 人们很自然地以为这条语句把所有三个变量声明为指向整形的指针, 但事实上并非如此. 我们被它的形式愚弄
阅读全文
摘要:一、引用和指针的区别? 1、左值引用和右值引用 2、引用的实例 1、引用是更安全的指针 (1)安全性: 引用是必须初始化的,指针可以不初始化。 引用能够保证一定能够引用到一个内存(因为必须初始化嘛),而指针有可能是野指针,需要通过开发者自己来保证指针的正确性。所以引用比指针更安全些。 (2)指针性
阅读全文
摘要:题目:给出一个string字符串,统计里面出现的字符的个数 解决方案:使用算法库<algorithm>里面的count函数(不是s.count()!!count是单独作为一个函数,而不是作为一个方法),使用方法是count(begin,end,‘a’),其中begin指的是起始地址,end指的是结束
阅读全文
摘要:一、如何理解const 一般普通的变量可以作为左值,像 int a = 10; a = 20; 但const修饰的变量不能够再作为左值(左值简单理解为等号左边的值)!!!一般来说,初始化完成后,不能够再被修改!!!(也就是说const int b = 20;这样初始化后,不可再对b进行修改。初始化的
阅读全文
摘要:memset函数是在头文件:cstring 或 memory 中 memset函数的作用是将数字以单个字节逐个拷贝的方式放到指定的内存中去 memset(a,0,sizeof a); int类型的变量一般占用4个字节,对每一个字节赋值0的话就变成了“00000000 00000000 0000000
阅读全文
摘要:整个工程的格式应该是这样的: #include "initiate_maze.hpp" void initiate_maze(int n, int m) { srand(time(NULL)); vector<string> things; string a = "🍚"; string b = "
阅读全文
摘要:一、向vector容器中增添元素 1、在末尾增添一个元素 push_back() 2、在任意地方插入一个或多个元素 insert() #include<iostream> #include<vector> // 注意这里不用.h using namespace std; int main() { v
阅读全文
摘要:一、C++中的动态内存管理方式 C语言中的动态管理方式是用malloc、free函数,它们在C++仍然可以继续使用,但是由于在部分地方略显无能为力,且使用起来比较麻烦,所以C++提出了自己的内存管理方式:采用new、delete关键字去进行动态内存管理。 注意:C语言开辟空间所用的malloc、ca
阅读全文