C++
文章平均质量分 67
前期C++学习
就叫风吧
三年C语言,精通C语言语法与for循环if条件分支编程。
展开
-
C++ vector简单使用
模板类vector详细介绍在计算中,vector(矢量)对应数组。在数学中,可以使用N个分量来表示N维数学矢量,因此就从这方面讲,数学矢量类似一个N维数组。然而数学矢量还有一些计算机矢量不具备的其他特征,如内乘积和外乘积。计算矢量存储了一组可随机访问的值。头文件 #include <vector>操作创建 vector<type>在这里插入代码片...原创 2021-09-14 21:25:49 · 138 阅读 · 0 评论 -
C++ 智能指针模板
智能指针关键字:auto_ptrunique_ptrshared_ptr共性与应用区别原创 2021-09-13 18:43:01 · 166 阅读 · 0 评论 -
C++ string
构造函数NBTS:null-byte-temnated string的缩写,表示以空字符结束的字符串------传统的C字符串构造函数描述string(const char* s)将string对象初始化为s指向的NBTSstring(size_type n, char c)创建一个包含n个元素的string对象,其中每个元素都被初始化为字符串cstring(const string &str)将一个string对象初始化为string对象str(复制构造函原创 2021-09-13 18:42:21 · 171 阅读 · 0 评论 -
C++ cout格式化输出、cin、简单文件I/O
《C++ primer plus》摘抄总结,方便查阅回忆cincin >> (抽取方式,只提取一般输入)检查输入的方法介绍:不同版本的抽取运算符查看输入流的方法是相同的。它们跳过空白(空格、换行符和制表符),直到遇到非空白字符。在单字符模式下,>>运算符将读取该字符,将它放置到指定的位置。在其他模式下,>>运算符将读取一个指定类型的数据。也就是说,它读取从非空白字符开始,到与目标类型不匹配的第一个字符之间的全部内容。输入单字符输入(1)成员函数:原创 2021-09-07 21:54:18 · 637 阅读 · 0 评论 -
C++ 类型转换运算符
前言描述在C语言中,类型转换,可以直接使用(type)进行类型转换。variable = (type) variable;在C++看来,C语言中的类型转换运算符太过松散,对于这种松散的情况,C++采取的措施是,更严格地限制允许的类型转换,并添加4个类型转换运算符,使转换过程更规范:dynamic_castconst_caststatic_castreinterpret_cast可以根据目的选择一个适合的运算符,而不是使用通用的类型转换。这指出了进行类型转换的原因,并让编译器原创 2021-09-06 21:45:24 · 109 阅读 · 0 评论 -
C++ 类模板
全文为个人理解总结用《C++ primer plus》14章 类模板概念有点理解不来。梳理一遍。核心要义:模板,是为了满足重用代码的需求。(比如一套代码,多种数据类型皆可使用。)百度百科:泛型即是指具有在多种数据类型上皆可操作的含义,与模板有些相似。语法类模板的声明和定义一个普通的Stack类(栈类)Stack.htypedef unsigned long Item;class Stack{private: enum {MAX = 10}; Item item[原创 2021-09-06 00:23:10 · 81 阅读 · 0 评论 -
C++ 复制构造函数和赋值运算符
C++会自动提供的成员函数(如果没有定义)默认构造函数默认析构函数复制构造函数赋值运算符地址运算符这些默认函数均为空函数,运算符复制构造函数复制构造函数用于将一个对象复制到新创建的对象中。类的复制构造函数原型通常如下:Class_name(const Class_name &);它接受一个指向类对象的常量引用作为参数。...原创 2021-08-29 01:00:47 · 546 阅读 · 0 评论 -
C++ 奇奇怪怪的bug记录
编程奥义:即便是new出来的内存,最好也是要清空一下。bug1:描述:《c++ primer plus》12章练习2自定义类,并且重载 + 运算 String s1(" and I am a C++ student."); String s2 = "Please enter your name: "; String s3; cout << s2; cin >> s3; s2 = "My name is " + s3;原创 2021-08-26 23:52:24 · 217 阅读 · 0 评论 -
C++ 转换函数(类与数值之间的转换)
类的自动转换将构造函数作为自动类型转换。只有接收一个参数的构造函数才能作为转换函数。explicit 关闭隐式自动转换,只允许显示自动转换class class_x = (class )y;class class_x = class (y);自动转换使用:类 = (类类型)值类的强制类型转换转换函数必须是类方法转换函数不能指定返回类型转换函数不能有参数原型示例: operator typename( );operator double( );double x = cla原创 2021-08-19 22:41:39 · 180 阅读 · 0 评论 -
C++运算符重载
运算符重载要重载运算符,需使用被称为运算符函数的特殊函数形式。运算符函数的格式如下:示例解析operatorop(argument-list)operator + 运算符 + (参数列表)operator+( )重载+运算符operator*( )重载*运算符operator-( )重载-运算符重载限制:op必须是有效的C++运算符,不能虚构一个新的符号。重载后的运算符必须至少有一个操作数是用户定义的类型,这将防止用户为标准类型重载运算符。(原创 2021-08-19 22:16:08 · 108 阅读 · 0 评论 -
C++ 类的简单定义、实现、使用
定义类privat 私有成员,只允许通过共有成员进行访问public 共有成员,外部接口若未标明,则默认为私有成员stock.hclass Stock{private:public:}stock.cpp实现类构造函数 析构函数对象的两种初始化方式在这里插入代码片...原创 2021-08-10 22:03:03 · 312 阅读 · 0 评论 -
C++ 名称空间
(一)名称空间先上定义使用不同厂商提供的类库时,可能导致名称冲突。名称空间是为解决名称冲突而提供的特性。举个例子,有如下两个头文件:Jack.h#ifndef JACK_H_#defineextern double pail;extern void fetch();extern int pal;struct Well{ .... ...};#endifJill.hextern double bucket(double n);extern double fetc原创 2021-08-08 17:44:56 · 63 阅读 · 0 评论 -
C++ 函数重载(多态)、函数模板
内容均出自《C++ primer plus》,本文仅为个人理解总结所用。若有不明欢迎站内私信交流。若发现文中错漏之处,期待不吝赐教站内私信。(一)函数重载(多态)先上定义:C++ Premer Plus (page276)函数多态是C++在C语言的基础上新增的功能。术语"多态":指的是有多种形式。术语"函数重载":指的是可以有多个同名函数,因此对名称进行了重载。两个术语是同一回事,但通常使用函数重载。函数多态(函数重载)让程序能够使用多个同名的函数。实例理解:同名函数,.原创 2021-08-07 19:56:24 · 631 阅读 · 0 评论 -
C++ 零碎笔记
cout 输出八进制、十进制、十六进制//可以分别使用下列代码 指定输出数值进制类型//制定后固定不变,需要再次指定复原cout << oct;cout << dec;cout << hex;cout 设置输出精度//float默认显示六位小数cout.setf(ios_base::fixed, ios_base::floatfield)//复原cout.setf(ios_base::fixed, ios_base::fixed)...原创 2021-08-06 22:15:39 · 104 阅读 · 0 评论