
C++
KK的任意门
改变,从去影响开始。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
c/c++指针介绍
参考博客原创 2022-02-08 20:39:37 · 628 阅读 · 0 评论 -
c++ 中*和&的比较
*相当于取值符,&相当于取地址符例子:int a = 123;int* p = &a;cout << &a << endl;cout << *p << endl;cout << &p << endl;cout << *&p << endl;输出:分析:a是整型变量p是个指针变量,指向变量a,存放的是变量a的地址&a,变量a的地址*p,变原创 2021-11-14 19:50:59 · 628 阅读 · 0 评论 -
vector的初始化
vector的初始化主要可以分为一维vector的初始化和二维vecto的初始化一维vector的初始化:vector<int>v{0,1,2,3}二维数组的初始化:定义一个初始化为0的l,k的二维数组vector<vector<int>>v(l,vector<int>(k,0))...原创 2021-10-31 11:26:53 · 2282 阅读 · 0 评论 -
vector .size()使用
用for循环写vector的.size()时候,避免以下写法:vector<int>a;for(int i = 0;i <= a.size() - 1;i++){}因为若a的为空时候,a.size()会返回一个无符号的整型,与 -1 相加会越界,原因是无符号数和有符号数相加,有符号数会被提升为无符号数,那么符号位就变成了数值位,导致越界正确写法:vector<int>a;for(int i = 0;i < a.size();i++){}...原创 2021-04-13 21:01:22 · 2896 阅读 · 3 评论 -
小括号运算符重载应用场景
概念涉及运算符重载与仿函数https://blog.youkuaiyun.com/jinzhu1911/article/details/101317367原创 2021-02-24 16:47:44 · 184 阅读 · 0 评论 -
异常处理
以一个例子来说明异常的处理:计算a/b要求一:当b为除数的时候,抛出异常#include<iostream>#include<stdexcept>using namespace std;int main(){ int a,b; cin>>a>>b; if(b == 0){ throw runtime_error...原创 2020-03-26 17:26:05 · 256 阅读 · 0 评论 -
容器模板vector
一:定义和赋初值(1)vector<int>v1(10) -- v1含有10个int类型的元素,每个元素的初值为0(2)vector<int>v1{10}-- v1含有1个int类型的元素,该元素为10(3)vector<int>v1(10,1) -- v1含有10个元素,每个元素的值为1(4)vector<int>v4{10,1...原创 2020-03-26 16:33:29 · 360 阅读 · 0 评论 -
string对象的几种常用使用方法
strng对象的比较有几种常用的操作符:== 、!=、<=、>=比较的依据:1.若两个对象的长度不一样,并且较短的string对象每个字符都和较长的对象字符对应得上,则认为较短的对象小于较长的对象2.若两个对象在某些对应位置上不一致,则结果为比较第一对相异字符的比较结果。例子:string str1 = "hello word";string str2 = "h...原创 2020-03-25 17:02:59 · 618 阅读 · 0 评论 -
结构体定义的问题
在定义结构体的时候遇到了问题。之前自己习惯这样去声明变量:typedef struct { string name; string gender; string id; int grade;}student;student stu[100];这里其实student 是结构体的类型,还不是变量,真正的变量是stu,加typedef 为类型取了一个别名为st...原创 2020-03-18 23:40:48 · 252 阅读 · 0 评论 -
C++中四舍五入和保留整数
参考链接 :https://www.cnblogs.com/weifengxiyu/p/5422540.html原创 2020-02-27 23:39:30 · 6494 阅读 · 0 评论 -
C/C++中字符串的使用
(1)字符串在计算机中默认是存储在常量区,也可叫做静态存储区,一般不可以修改。例如:char *s = "abcde";*(s+2) = i;这样是违法的。但是我们可以更改字符串的存储区域,让它变得可以更改。例如:char *s = NULL;s= (char * ) malloc(sizeof(char)*20);cin>>s;*(s+3)= '8';cout...原创 2020-02-07 20:41:35 · 216 阅读 · 0 评论 -
C++中sprintf()的用法
sprintf()函数相当于带格式的转换函数sprintf(dst,'格式',src),意为将src以指定格式输入到dst中,跟printf类似,只不过printf是直接输入到命令行窗口中今天笔试的时候有这样一个代码,要求改错: char s[]={'1','2','3'}; int len=strlen(s)+1; char *p=(char *)malloc(s...原创 2019-04-16 21:07:31 · 2500 阅读 · 0 评论 -
C++ 浅拷贝和深拷贝
浅拷贝:调用类中默认的构造函数或者赋值操作符eg:A a1;A a2=a1;浅拷贝只是简单地把a1的地址复制给a2而这种浅拷贝会带来以下的后果:(1) a1,a2共享同一个地址,因此改变a2的成员会相应改变a1(2)若执行a2=a1(赋值运算符),则也是讲a1的地址复制给a2,而a2本身的内存没有释放,造成内存泄漏(3)如果任意一个对象被析构,则这块内存会被释放两次...原创 2019-03-18 19:10:46 · 253 阅读 · 0 评论 -
C++ 中 this指针的理解
this指针在很多时候都是隐式调用下面这个代码:class A{public: A() { a=2; } void output() { cout<<this->a; }private: int a;};int main(int argc,char **argv){...原创 2019-03-07 10:00:58 · 332 阅读 · 0 评论 -
字符串指针和字符串数组的更改问题
char *buf = "hello World!"; //关于字符串常量值不能修改理解, 因为字符串定义在全局常量区, //下面这句就是尝试改变字符串的值, 所以该语句错误 strcpy(buf, "q345w4565467"); //这句不是改变字符串的值, 是改变指针的指向,所以运行没有问题 buf = "q345w...转载 2019-03-01 09:38:18 · 911 阅读 · 0 评论 -
经常犯的错误:结构体指针只定义而没有初始化
struct ListNode { int val; struct ListNode *next;};int main(){ ListNode *head1;(1)cout<<head->val;这段程序编译没有问题,但是运行会出现段错误。原因: (1)这里只是定义了一个指针,而没有给指针赋初值,所以指针的初值默认为空,空值...原创 2019-02-28 22:02:01 · 2584 阅读 · 2 评论