![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++学习笔记
LQTGO
慢慢来
展开
-
C++二维vector使用
https://blog.csdn.net/u014453443/article/details/98057251转载 2020-09-26 22:27:08 · 1622 阅读 · 0 评论 -
C++运算符重载
https://www.runoob.com/cplusplus/cpp-overloading.html转载 2020-09-26 22:06:52 · 58 阅读 · 0 评论 -
C++枚举
语法:enum <类型名> {<枚举常量表>};举例:enum color_set1 {RED, BLUE, WHITE, BLACK}; // 定义枚举类型color_set1enum week {Sun, Mon, Tue, Wed, Thu, Fri, Sat}; // 定义枚举类型week定义格式:定义枚举类型之后,就可以定义该枚举类型的变量,如:color_set1 color1, color2;亦可类型与变量同时定义(甚至类型名可省),格式如下:en转载 2020-09-26 11:01:05 · 112 阅读 · 0 评论 -
vector之resize()和reserve()
首先必须弄清楚两个概念:1.capacity()指容器在分配新的存储空间之前能存储的元素总数。2.size()指当前容器所存储的元素个数在弄清这两个概念以后,很容易懂resize和reserve的区别区别:1).reserve表示容器预留空间,但并不是真正的创建对象,需要通过insert()或push_back()等创建对象。resize既分配了空间,也创建了对象。2).reserve只修改capacity大小,不修改size大小,resize既修改capacity大小,也修改size大小转载 2020-09-25 20:44:48 · 164 阅读 · 0 评论 -
类的有参构造函数
class C1{public: func(int val) { cout<<val<<endl; }; };int main(){ C1 func(6); }原创 2020-09-25 17:58:01 · 341 阅读 · 0 评论 -
argc和argv
argc (argument count),表示传入main函数的参数个数argv (argument vector),表示传入main函数的参数序列或指针(一般都是参数序列)注意:第一个参数argv[0]一定是程序的名称,并且包含了程序所在的完整路径,所以确切的说需要我们输入的main函数的参数个数应该是argc-1个;例子:#include <iostream> using namespace std; void main(int argc,char *argv[]){原创 2020-09-25 16:58:48 · 236 阅读 · 0 评论 -
namespace使用
C++中namespace简单来说就是用来控制标志符(如变量,函数,类等)的名字冲突的。在一个namespace中声明的标志符和其他namespace中声明的同名标志符是没有名字冲突的。namespace定义:namespace system { void func1() { ... } class func2;}命名空间可放入变量,函数,类等namespace访问:1、一般的作用域运算符(::)直接访问namespace中的成员system::func1()原创 2020-09-25 16:44:51 · 157 阅读 · 0 评论 -
C++中的return使用
return语句有两种形式:return;return expression;不带返回值的return语句只能用于返回类型为void的函数。在返回类型为void的函数中,return返回语句不是必需的,隐式的return发生在函数的最后一个语句完成时。一般情况下,返回类型是void的函数使用return语句是为了引起函数的强制结束,这种return的用法类似于循环结构中的break语句。...转载 2020-08-14 15:55:22 · 1718 阅读 · 0 评论 -
NULL的含义与使用以及nullptr
在指针变量声明的时候,如果没有确切的地址可以赋值,为指针变量赋一个 NULL 值是一个良好的编程习惯。赋为 NULL 值的指针被称为空指针。NULL 指针是一个定义在标准库中的值为零的常量。#include <iostream>using namespace std;int main (){ int *ptr = NULL; cout << "ptr 的值是 " << ptr ; return 0;}结果:ptr 的值是 0转载 2020-08-14 11:30:07 · 717 阅读 · 0 评论 -
对于指针的理解(指针和指针变量)
先上代码:int main(){ int a = 10; int b = 20; int c = 30; int *p1; int* p2; int *p3 = &c; p1 = &a; p2 = &b; cout << "a的地址是:" << &a << endl; cout << "b的地址是:" << &b << endl; cout << "指针变原创 2020-08-13 17:06:25 · 516 阅读 · 1 评论 -
指针访问数组
对于一个数组:int a[]={1,2,3,4,5};数组名a可认为是数组元素的地址,是一个地址常量,等价于&a[0]创建指针来访问数组:int(*pa)=a;//指针变量pa指向数组首地址其等同于int(*pa)=&a[0]如果指针变量指向数组的首地址,此时指针变量可以使用下标,即指针变量等同于数组名 a[1] == pa[1]...原创 2020-07-16 17:40:57 · 354 阅读 · 0 评论 -
C++函数对象和函数指针
C++函数指针和仿函数转载 2020-07-14 18:37:01 · 135 阅读 · 0 评论 -
STL插入迭代器: back_inserter,inserter,front_inserter
除了普通迭代器,C++标准模板库还定义了几种特殊的迭代器,分别是插入迭代器、流迭代器、反向迭代器和移动迭代器,定义在<iterator>头文件中,下面主要介绍三种插入迭代器(back_inserter,inserter,front_inserter)的区别。首先,什么是插入迭代器?插入迭代器是指被绑定在一个容器上,可用来向容器插入元素的迭代器。back_inserter:创建一个使用push_back的迭代器inserter:此函数接受第二个参数,这个参数必须是一个指向给定容器的迭代器。元转载 2020-07-14 12:50:14 · 247 阅读 · 0 评论 -
C++字符串比较compare
compare用于比较两个字符串是否相等。用法:str1.compare(str2);str1.compare(str2);如果相等则输出为0,不等则输出为-1。原创 2020-06-19 11:49:59 · 816 阅读 · 0 评论 -
c++之模版总结
函数模版格式: template <class 形参名,class 形参名,......> 返回类型 函数名(参数列表) { 函数体 }template和class是关键字,class可以用typename 关键字代替,一般用class多一些。<>括号中的参数叫模板形参,模板形参和函数形参很相像,模板形参不能为空。(一但声明了模...转载 2020-04-10 20:36:53 · 122 阅读 · 0 评论