C++
西堂AI编程提效
一周三更编程干货
大厂程序员
厦大硕士
专注于AI编程提效、数字人领域
展开
-
c++中重载操作符
1、为什么需要重载操作符?c++中操作符包括==,>=, >>, << 等。比如==,c++中默认实现比较两个大小是否相等,但当要比较两个class变量是否相等,就要重载操作符==。例如:两个Person类的变量,只有当其age和sex一样时才是同一个人,这时候就需要重载操作符。2、如何使用操作符?operator是c++的关键字,要和运算符一起使用。应当...原创 2019-02-01 23:29:32 · 273 阅读 · 0 评论 -
C++输入输出问题和大小端判断
目录1、输入不定长数组并结束2、C++中保留小输点后n位小数3、大小端判断1、输入不定长数组并结束while (1){ int tmp; cin >> tmp; prices.push_back(tmp); if(cin.get() == '\n') break;}2、C++中保留小输点后n位小数#include<ioma...原创 2019-09-24 09:26:07 · 315 阅读 · 0 评论 -
虚函数和纯虚函数
目录1.虚函数2.纯虚函数3.虚函数表4.注意5.代码示例1.虚函数多态是通过虚函数来实现的,虚函数允许子类重定义父类的成员函数。 虚函数的动态绑定:基类指针可以指向基类对象或派生类对象,所以只能是动态绑定,当程序运行的时候才知道其基类指针指向的是基类对象还是派生类对象。 如果定义了虚函数,则最好将析构函数也定义为虚函数。这样才可以先调用派生类的析构函数,再调用基类...原创 2019-04-20 15:45:21 · 137 阅读 · 0 评论 -
C++和C语言文件读写
目录1.C++文件读写2.C语言文件读写3.QT下文件读写1.C++文件读写ifstream:读取文件数据类 ofstream:写入文件数据类 fstream:读取和写入文件数据类#include <iostream>#include <fstream> //写和读头文件using namespace std;const i...转载 2019-04-19 18:03:22 · 915 阅读 · 0 评论 -
Effective C++ 第二章总结
目录1、条款5:了解C++默默编写并调用哪些函数2、条款6:若不想使用编译器自动生成的函数,就该明确拒绝3、条款7:为多态基类声明virtual析构函数4、条款8:别让异常逃离析构函数5、条款9:绝不在构造函数和析构过程中调用virtual函数6、条款10:令operator=返回一个referece to *this7、条款11:在operator=中处理“自我赋值”...原创 2019-04-28 15:46:28 · 85 阅读 · 0 评论 -
复制构造函数
1.复制构造函数的定义:只有单个形参,而且该形参是对本类类型对象的引用(常用 const 修饰)。2.复制构造函数常发生于以下三种情况:根据另一个同类型的对象显式或隐式初始化一个对象。 复制一个对象,将它作为实参传给一个函数。 从函数返回时复制一个对象。#include <iostream>using namespace std;class Complex{p...原创 2019-04-18 19:24:12 · 134 阅读 · 0 评论 -
初识string,vector,bitset
目录1.cin2.getline3.string4.vector5.迭代器6.bitset1.cincin >> s①读取并忽略开头所有的空白字符②读取字符直到再次遇到空白字符停止2.getline遇到换行符停止string line;getline(cin, line); //读取内容保存至line中,不包含换行符3.s...原创 2019-03-04 22:45:31 · 193 阅读 · 0 评论 -
c++四种强制类型转换
1.定义格式cast-name <type>(expression)//cast-name:dynamic_cast/static_cast/const_cast/reinterpret_cast中的一种//type:转换的目标类型//expression:待转换的值2.四种强制类型说明①static_cast:编译器的隐式执行的类型转换都可以由static_ca...原创 2019-03-10 13:24:22 · 292 阅读 · 0 评论 -
const指针和指向const对象的指针
目录1.常量表达式2.指针和引用的比较3.指针和const限定符4.数组1.常量表达式const int n = 100;int* a[n+1] = {0};上面的n+1是常量表达式,编译时即可计算出结果。2.指针和引用的比较①引用总是指向某个对象,定义引用时必须初始化,从一而终。②给引用赋值修改的是该引用所关联的对象的值,而并不是使引用与另外一个对象关...原创 2019-03-06 23:51:05 · 1281 阅读 · 0 评论 -
c++中的函数指针
1.函数指针是指向函数的指针变量,即本质是一个指针变量。2.定义: int(*func)(int, int) 调用:int min(int x,int y); func = &min 或func = min3.例子:【奇数放前,偶数放后】void Reorder(int* pData, int length, bool(*func)(int)){ if...原创 2019-03-03 20:40:13 · 101 阅读 · 0 评论 -
C++笔记(一)
目录1.左值和右值2.移动语义std::move和完美转发std::forward1.左值和右值左值:能取地址,有名字的对象右值:不能取地址,没有名字的对象例子:++i为左值,i++为右值i++的实现代码: int temp; temp = i; i = i+1; return temp++i的实现代码: i = i+1; ...原创 2019-09-28 15:38:07 · 105 阅读 · 0 评论