C/C++编程
记录学习与应用C/C++过程中遇到的问题
xiaoliyu00
Talk Is Cheap, Show Me The Code'。知易行难,知行合一难
展开
-
C++笔记-针对从0到1学习VIO中代码中的遗忘知识点
C++笔记-针对从0到1学习VIO中代码中的遗忘知识点。原创 2023-06-29 16:24:02 · 254 阅读 · 0 评论 -
c++面试题汇总-58-118
c++面试题汇总原创 2022-09-08 15:02:31 · 868 阅读 · 1 评论 -
c++面试题目汇总-1-57
c++面试题汇总原创 2022-09-08 14:55:51 · 809 阅读 · 0 评论 -
c++ 父类指针指向子类对象 子类指针指向父类对象
c++ 父类指针指向子类对象 子类指针指向父类对象。原创 2022-08-31 16:20:49 · 2223 阅读 · 0 评论 -
c++STL 迭代器失效的三种情况总结
c++ STL迭代器失效的三种情况总结原创 2022-08-30 10:35:24 · 1398 阅读 · 0 评论 -
c++-基础知识-案例-函数对象
c++-基础知识-案例-函数对象。原创 2022-08-20 18:03:05 · 127 阅读 · 0 评论 -
c++-基础知识-STL案例
c++-基础知识-STL案例。原创 2022-08-17 22:31:21 · 377 阅读 · 0 评论 -
c++-基础知识-案例-string类的实现
string类的实现1.对于以下两个函数,由于返回对象为istream和ostream,不能将其修改为类内的成员函数,所以可以设置为友元函数,注意声明时加friend关键字,定义时不加friend关键字。2.拷贝过程中使用深拷贝。3.普通构造函数以及拷贝构造函数中不加以下代码,报错。............原创 2022-08-15 19:27:12 · 362 阅读 · 0 评论 -
c++-基础知识-目录
c++基础知识查询目录原创 2022-08-12 21:49:15 · 637 阅读 · 0 评论 -
c++-基础知识-类模板案例-数组封装
代码】c++类模板案例-数组封装。原创 2022-08-12 16:44:31 · 522 阅读 · 0 评论 -
c++ 基础知识-模板3
代码】c++ 基础知识-模板3。原创 2022-08-12 10:45:39 · 222 阅读 · 0 评论 -
c++ 基础知识-模板2
代码】c++ 基础知识-模板2。原创 2022-08-11 22:44:49 · 102 阅读 · 0 评论 -
c++ 基础知识-模板1
c++基础知识-模板。原创 2022-07-20 22:56:45 · 278 阅读 · 0 评论 -
c++ 基础知识-类与对象-实践-员工管理系统(记录)2
c++ 基础知识-类与对象-实践-员工管理系统(记录)2原创 2022-07-12 15:40:24 · 307 阅读 · 0 评论 -
c++ 基础知识-类与对象-实践-员工管理系统(记录)1
c++ 基础知识-类与对象-实践-员工管理系统(记录)1原创 2022-07-12 15:37:50 · 449 阅读 · 0 评论 -
c++ 基础知识-类和对象-多态2
1.多态-纯虚函数和抽象类2.多态-实际应用案例3.虚析构和纯虚析构虚析构和纯虚析构多态使用时,如果子类中有属性开辟到堆区,那么父类指针在释放时无法调用到子类的析构代码解决方法:将父类中的析构函数改为虚析构和纯虚析构函数虚析构和纯虚析构共性:可以解决父类指针释放子类对象都需要有具体的函数实现虚析构和纯虚析构区别:如果是纯虚析构,该类属于抽象类,无法实例化对象......原创 2022-06-28 22:34:34 · 220 阅读 · 0 评论 -
c++ 基础知识-类和对象-多态1
1.静态多态:函数重载和运算符重载属于静态多态,复用函数名2.动态多态:派生类和虚函数实现运行时多态静态多态和动态动态的区别:静态多态的函数地址早绑定 - 编译阶段确定函数地址动态多态的函数地址晚绑定 - 运行阶段确定函数地址...原创 2022-06-27 16:46:14 · 297 阅读 · 0 评论 -
c++ 基础知识-类和对象-继承2
c++ 基础知识 类和对象 继承原创 2022-06-04 23:43:43 · 94 阅读 · 0 评论 -
c++ 基础知识-类和对象-继承1
c++ 基础知识-类和对象-继承1.基本语法#include <iostream> #include <string> using namespace std;//继承// 基类 父类 包含一些公共或者说可以重复利用的内容class Base{public: int m_A;protected: int m_B;private: int m_C;};//公共继承 publicclass A:public Base{public: //构原创 2022-05-31 21:26:26 · 107 阅读 · 0 评论 -
c++ 基础知识-类和对象-运算符重载2
c++ 基础知识-类和对象-运算符重载21.赋值运算符重载#include <iostream> #include <string> using namespace std;class Int{public: Int(int i);//构造函数 ~Int();//析构函数 int *m_Int; Int& operator=(Int &i) { //判断指针是否为空 if (m_Int != NULL) { dele原创 2022-05-21 22:05:42 · 148 阅读 · 0 评论 -
c++ 基础知识-类和对象-运算符重载1
c++ 基础知识-类和对象-运算符重载1.加法运算符重载#include <iostream> #include <string> using namespace std;class Person{public: //构造函数 Person(); //析构函数 ~Person(); //error C2673: “operator +”: 全局函数没有“this”指针 //重载加法运算符1 //Person operator+(const Perso原创 2022-05-20 21:34:08 · 148 阅读 · 0 评论 -
c++ 基础知识-类和对象-友元
c++ 基础知识-类和对象-友元1.全局函数做友元#include <iostream> #include <string> using namespace std;class Person{ //利用friend修饰函数构造友元函数,可以访问类内私有成员 friend void test(Person * p);public: void fun() { m_age = 25; m_ID = 123; cout<<"fun()"&原创 2022-05-20 15:41:32 · 149 阅读 · 0 评论 -
c++ 基础知识-类和对象-对象特性-空指针访问成员函数
c++ 基础知识-类和对象-对象特性1.空指针访问成员函数#include <iostream> #include <string> using namespace std;class Person{public: void fun() { cout<<"fun()"<<endl; } void fun1() { //判断指针是否为空,避免空指针导致报错 if (this == NULL) { return;原创 2022-05-12 00:08:46 · 232 阅读 · 0 评论 -
c++ 基础知识-类和对象-对象特性-静态成员
c++ 基础知识-类和对象-对象特性1.静态成员静态成员变量特点:1.在编译阶段分配内存2.类内声明,类外初始化3.所有对象共享同一份数据静态成员函数特点:1.所有对象共享一个同一个函数2.静态成员函数只能访问静态成员变量#include <iostream> #include <string> using namespace std;class Person{public: static int m_A;//类内声明静态成员变量 int m_B原创 2022-05-10 23:33:05 · 286 阅读 · 0 评论 -
c++ 基础知识-类和对象-对象特性-初始化列表-类对象作为类成员
c++ 基础知识-类和对象-对象特性1.初始化列表#include <iostream> #include <string> using namespace std;class Person{public: //有参数构造函数,传统的初始化方式 //Person(int a,int b,int c) //{ // m_a = a; // m_b = b; // m_c = c; // cout<<"Person:有参数构造函数,传统的初始原创 2022-05-09 23:45:16 · 302 阅读 · 0 评论 -
c++ 基础知识-类和对象-对象特性-构造函数和析构函数
c++ 基础知识-类和对象-对象特性-构造函数和析构函数1.构造函数和析构函数初始化及分类#include <iostream> #include <string> using namespace std;class Person{public: //构造函数,可以有参数,可以重载 //创建对象可以自动调用,并且只能调用一次 Person() { m_age = 2; cout<<"Person:默认构造函数"<<endl;原创 2022-05-08 22:03:09 · 321 阅读 · 0 评论 -
c++ 基础知识-类和对象的封装实例
c++ 基础知识-类和对象的封装实例1.计算矩形面积,分别利用全局函数和成员函数判断两个矩形面积是否相等#include <iostream> #include <string> using namespace std;//计算矩形面积//分别利用全局函数和成员函数判断两个矩形面积是否相等class Square{public: //设置参数,获取参数 void setL(int l) { m_L = l; } int getL() {原创 2022-05-07 14:08:13 · 281 阅读 · 0 评论 -
c++ 基础知识-类和对象的访问权限
c++ 基础知识-类和对象1.类访问权限#include <iostream> #include <string> using namespace std;//访问权限//public 公共权限 类内可以访问 类外可以访问//protected 保护权限 类内可以访问 类外不可以访问 //private 私有权限 类内可以访问 类外不可以访问//注意protected 和 private的区别主要体现在继承,继承后子类可以访问父类的protected,但是不原创 2022-05-07 12:21:04 · 877 阅读 · 0 评论 -
c++ 基础知识-函数高级
c++ 基础知识-函数高级1.函数的默认参数#include <iostream> #include <string> using namespace std;//函数默认参数int fun(int a=1,int b = 2,int c = 3){ return a+b+c;}//1.如果函数参数中有默认参数,那么从该默认参数向后的参数都必须是默认参数//error C2548: “fun1”: 缺少参数 2 的默认参数//error C2548:原创 2022-05-06 21:55:15 · 214 阅读 · 0 评论 -
c++ 基础知识-引用
c++ 基础知识-引用引用的本质是指针常量1.引用基础#include <iostream> #include <string> using namespace std;int main(){ int a =10; int c = 15; int &b = a;//引用必须初始化 //int &b = c;// “b”: 重定义;多次初始化,引用只能初始化依次,不可以更改 cout<<"a = "<<a<&l原创 2022-05-05 14:22:54 · 327 阅读 · 0 评论 -
c++ 基础知识-程序的内存模型
c++ 基础知识-全局区1.程序的内存模型-内存四区-全局区#include <iostream> #include <string> using namespace std;//全局变量int g_a = 10;//全局常量const int c_g_a = 15;int main(){ //局部变量 int a = 20; //局部常量 const int c_a = 54; //静态常量 static int s_a = 16; //字符原创 2022-05-05 13:24:26 · 372 阅读 · 0 评论 -
c++ 基础知识-结构体
c++ 基础知识-结构体1.初始化结构体,结构体数组#include <iostream> #include <string> using namespace std;struct Student{ string name; int age;};int main(){ Student stuArr[] = {{"a",1},{"b",2},{"c",3}}; stuArr[1].name = "d"; stuArr[1].age = 4; for (原创 2022-05-04 21:54:36 · 602 阅读 · 0 评论 -
c++ 基础知识-指针函数、数组
c++ 基础知识-指针函数、数组1.指针数组#include <iostream> using namespace std; int main(){ int arr[] = {1,2,3,4,5,6,7,8,9,10}; int * p = arr; cout<<*p<<endl; for (int i = 0;i<10;i++) { cout<<*p+i<<endl; } ret原创 2022-05-03 22:57:03 · 317 阅读 · 0 评论 -
c++ 基础知识-const字符修饰指针
c++ 基础知识-const字符修饰指针1.const修饰指针-常量指针指针指向可以修改,但是指针指向的值不可以修改#include <iostream> using namespace std;int main(){ int a = 10; const int * p; p = &a; *p = 30;//error C3892: “p”: 不能给常量赋值 a = 20;//指向的值可以修改 cout<<"*p = "<<*p<&原创 2022-05-03 21:46:34 · 368 阅读 · 0 评论 -
c++基础知识-指针
c++基础-指针部分1.指针通俗来说,指针就是地址,其中*为指针符号,&为取地址符号1.1 指针#include <iostream> using namespace std;int main(){ int a = 10;//定义int变量 int * p;//定义int指针,注意* p = &a;//指针p指向a的地址,注意& cout<<p<<endl;//00F6F958 //直接输出是地址 cout<<原创 2022-05-03 21:09:45 · 175 阅读 · 0 评论 -
c++ 基础知识-const字符-private-public用法
c++ 基础知识-const字符-private-public用法private私有成员,包括变量,成员函数,其中私有成员变量和私有成员函数均可以通过public中成员函数调用,但是不能通过定义的类调用。注意:私有成员函数也不能调用私有成员变量const 常量,修饰变量,变量不可以修改,修饰函数,在函数前面修饰,一般是修饰函数返回值不可以修改,在函数后面修饰,则该函数不可以修改数据成员的值注意:const 修饰类,该类默认调用常成员函数// 类class A{//私有成员private:原创 2022-04-14 22:07:19 · 1216 阅读 · 0 评论 -
c++ 结构体-struct
c++ 结构体-struct结构体,类似于数据结构的实现体,其数据访问控制权限是publicC中格式c中结构体不可以包含函数//两种方法等价//定义typedef struct Student{ int age; string name;} S;struct Student{ int age; string name;}typedef struct Student S;int main() { struct Student me; // 或原创 2022-04-08 22:21:38 · 1285 阅读 · 0 评论 -
关于c++ 中 #pragma pack(n)用法
关于c++ 中 #pragma pack(n)用法#pragma pack(4)class TestC{public: char a;//第一个成员,自身长1,#pragma pack(4),取1,按照1字节对齐,放在[0]偏移的位置, short b;;//第二个成员,自身长2,#pragma pack(4),取2,按照2字节对齐,放在偏移[2,3]的位置。 char c;//第三个,自身长为1,#pragma pack(4),取1,按照1字节对齐,放在[4]的位置。};int main原创 2022-04-08 21:31:44 · 919 阅读 · 0 评论 -
c++学习笔记-c++primer
c++笔记-c++primer1.基础汇总int main(void);// 等价于 int main(),接口函数头&;//即可以表示地址运算符,也可以表示按位AND运算*;//即可以乘法,也可以表示对指针接触引用2. 类 构造函数 析构函数类与结构体之间唯一的区别是结构体的默认访问方式是public,类的默认访问方式为privateclass Sales_item{ public: Sales_item(); virtual ~Sales_item(); //st原创 2022-04-07 22:27:25 · 1448 阅读 · 0 评论 -
opencv3.0以上-CvMat* cvMat Mat 定义转换
opencv3.0以上-CvMat* cvMat Mat 定义转换原创 2022-03-27 12:07:19 · 3330 阅读 · 0 评论