C++
文章平均质量分 60
Last-Week
正在学习C++的小弱鸡
展开
-
vscode 远程连接错误:Server status check failed - waiting and retrying
vscode远程连接错误解决方法原创 2022-06-21 00:33:50 · 3091 阅读 · 3 评论 -
CLion安装下载
MinGW的下载安装原创 2022-06-21 00:32:31 · 1780 阅读 · 0 评论 -
MinGW下载安装
MinGW(全称为 Minimalist GNU for Windows),它实际上是将经典的开源 C 语言编译器 GCC 移植到了 Windows 平台下,并且包含了 Win32 API ,因此可以将源代码编译为可在 Windows 中运行的可执行程序。这里将讲述如何下载安装...原创 2022-06-21 00:31:11 · 9200 阅读 · 2 评论 -
ACM模式下C++输入模板
一、整型数组输入:1、在终端的一行中输入固定数目的整型数字,并存到数组中,中间以空格分隔。示例:31 2 3 //方法1:固定大小n 优先用方法1 int n; cin >> n; vector<int> nums(n); for (int i = 0; i < n; ++i){ cin >> nums[i]; } //方法2:resize大小为n int n;转载 2022-04-24 15:22:30 · 679 阅读 · 0 评论 -
C++11 constexpr和常量表达式
constexpr和常量表达式常量表达式常量表达式是指值不会改变并且在编译过程中就能得到计算结果的表达式,字面值属于常量表达式,用常量表达式初始化的const对象也是常量表达式const int max = 20;//常量表达式const int limit = max + 1;//常量表达式int staff = 10;//不是常量表达式constexpr在一个复杂系统中,很难分辨一个初始值到底是不是常量表达式C++11新标准规定,允许将变量声明为constexpr类型以便编译器来验证原创 2021-05-22 17:27:06 · 131 阅读 · 0 评论 -
指针和字符串
文章目录指针和字符串字符串声明字符串字面量池字符串初始化初始化char数组初始化char指针标准字符串操作比较字符串赋值字符串拼接字符串返回字符串返回字面量的地址返回动态分配内存的地址不要返回局部的字符串地址函数指针和字符串指针和字符串字符串声明声明字符串有三种方式,字面量、字符数组和字符指针字符串字面量是用双引号引起来的字符序列,常用来进行初始化,它们位于字符串字面量池中字符数组char header[32] = "last week"; 字符指针const char* str = "l原创 2021-05-10 15:34:16 · 161 阅读 · 0 评论 -
指针和数组(操作详解)
文章目录指针和数组数组概述一维数组二维数组指针表示法和数组数组和指针的差别用malloc创建一维数组用realloc调整数组长度传递一维数组数组表示法指针表示法使用指针的一维数组声明一个整数指针的数组指针和多维数组传递多维数组动态分配二维数组分配可能不连续的内存分配连续内存指针和数组本文基本为深入理解指针的笔记数组概述不要混淆二维数组和指针数组,它们类似但是行为会有差异一维数组 int vector[5] = { 1,2,3,4,5 };数组索引从0开始,到声明长度减一结束无效的索引访原创 2021-05-08 15:42:24 · 1142 阅读 · 3 评论 -
函数指针和指针函数
函数指针声明一个函数指针//声明一个函数指针void (*foo) ();原创 2021-05-07 11:30:07 · 166 阅读 · 0 评论 -
C的动态内存管理
动态内存分配基本操作使用malloc类的函数分配内存用这些内存支持应用程序用free函数释放内存实例代码 int *ptr = (int *)malloc(sizeof(int));//动态分配内存,大小为一个int *pi = 5; cout << *pi << endl; free(pi);//释放内存图片说明 (主函数也是函数,所以在栈里创建了指针,并指向在堆中开辟的内存)内存泄漏如果不再使用已分配的内存却没有将其释原创 2021-05-05 16:34:11 · 144 阅读 · 0 评论 -
C++智能指针详解
new和delete的缺陷创建Person类对象,在堆区开辟空间,并调用指针打印对象的属性值。class Person {public: Person() = default; Person(int age, string str) : m_age(age), m_string(str) { } void display() { cout << m_age << " " << m_string << endl; } ~Perso.原创 2021-05-02 15:13:27 · 260 阅读 · 0 评论 -
C++11=default生成默认构造函数
#include <iostream>using namespace std;class Person{public: Person() = default;//告诉编译器执行默认构造函数 Person(int age) { this->m_age = age; }private: int m_age;};int Person::sum = 10;//类外初始化int main(){ Person p1;//可以使用默认构造 return 0.原创 2021-05-01 23:27:37 · 340 阅读 · 0 评论 -
C++静态成员详解
静态成员人们希望有一个或者多个数据成员为类的所有对象共同拥有,实现一个类的多个对象之间的数据共享,C++提出了静态成员的概念如果有全局变量记录,那就破坏了类的封装性静态数据成员静态数据成员的定义与普通数据成员相似,但前面需加上关键字static 静态数据成员初始化特殊,需在类外单独初始化,不初始化默认为0 静态数据成员属于类而非某一个对象,所以可以用类名访问 (Score::a) 静态数据成员与静态变量一样,在编译时创建并初始化。它在类的任何对象被建立前就已经存在,因此共有的静态数据成原创 2021-05-01 16:25:28 · 120 阅读 · 0 评论 -
C++this指针
问题当定义了一个类的若干对象后,系统为每一个对象分配内存空间。每个对象都有属于自己的数据成员,但是所有对象的成员函数代码却合用一份。那么每次在主函数调用成员函数是如何辨别出当前调用自己的是哪个对象这就用到了我们的this指针了成员函数通过一个名为this的额外的隐式参数来访问调用它的哪个对象,当我们调用一个成员函数时,用请求该函数的对象地址初始化this。有点绕口,我们来看代码,我们创建了一个对象p,分别在类内打印它的this指针值,并在类外直接打印它的地址值,最后发现是一样的。c原创 2021-05-01 14:04:20 · 191 阅读 · 0 评论 -
C++类和对象
从结构体到类结构体权限为公有,无法很好的保护数据 封装的不好,不能对一些常用的行为进行函数封装struct Person1{ int age;//默认公有};class Person2{ int age;//默认私有};类的构成概述数据成员和成员函数 权限 public(公有) 对内对外都完全开放 private(私有) 只有本类的成员函数访问,而类外部的任何访问都是非法的。 protected (保护)可以又本类的成员函数访问,也可以由该类的派生类成员函数访问原创 2021-05-01 10:55:53 · 89 阅读 · 0 评论 -
string类型处理空格字符
引言:C++提供了强大的string类型,但是其输入的时候还是要注意以下细节。如果我们输入了一句话,里面包含有空格,str会被截断,空格后面的将不被保留。#include <iostream>#include <queue>#include <algorithm>#include <string>using namespace std;int main(){ string str; cin >> str; cout原创 2021-04-02 10:49:53 · 5247 阅读 · 0 评论