C++
Felicia93
医学图像分割算法、机器学习、深度学习、PyTorch、Python、Matlab、C/C++
展开
-
C++笔记——动态内存分配
new/delete【C++动态分配运算符,可以重载】、malloc/free【C语言动态分配函数,不能重载】需要配对使用。new [] / delete [] 生成和释放对象数组。#include #include using namespace::std;class Test{public: Test() : m_val(0) {转载 2017-10-16 14:39:40 · 186 阅读 · 0 评论 -
C++笔记——命名空间namespace
#include using namespace::std;namespace One{ int M = 200; int inf = 10;}namespace Two{ int x; int inf = 100;}int main(){ // :: 是作用域运算符 cout << Two::x << endl; //转载 2017-10-14 13:45:08 · 176 阅读 · 0 评论 -
C++笔记——默认参数的函数
默认参数的顺序规定:如果一个函数中有多个默认参数,则形参分布中,默认参数应从右至左逐渐定义。void func(int a = 1, int b, int c = 3, int d = 4) // errorvoid func(int a, int b = 2, int c = 3, int d = 4) // ok对于第2个函数声明,其调用的方法规定为:func(10,转载 2017-10-14 13:58:12 · 299 阅读 · 0 评论 -
C++笔记——函数重载
定义:两个以上的函数,取相同的函数名,但是形参的个数或者类型不同,编译器根据实参和形参的类型及个数的最佳匹配,自动确定调用哪一个函数,这就是函数的重载。#include using namespace::std;int square(int x){ cout << __FILE__ << __LINE__ << __func__ << endl; return x*x转载 2017-10-14 14:13:41 · 172 阅读 · 0 评论 -
C++笔记——函数模板
泛型编程:独立于任何特定类型的方式编写代码。转载 2017-10-14 15:25:25 · 135 阅读 · 0 评论 -
C++笔记——类、对象和封装
类是创建对象的模板和蓝图。类是一组类似对象的共同抽象定义。对象是类的实例化结果。对象是实实在在的存在,代表现实世界的某一事物。对象三大关键特性行为:对象能干什么。状态:对象的属性、行为的结果。标识:对象的唯一身份。区别类是静态定义,对象是动态实例。程序代码操作的是对象而非类,建模得到的是类而非对象。联系类是对象的定义。对象的产生离不开类这个模板。类存转载 2017-10-14 21:02:34 · 259 阅读 · 0 评论 -
C++笔记——标准库类型string
需加头文件 #include 字符串对象的初始化方法:#includeusing namespace::std;int main(){ string a("c++"); string b(a); string c(4,'a'); cout << a << endl; cout << b << endl; co转载 2017-10-15 18:34:42 · 150 阅读 · 0 评论 -
C++笔记——构造函数和析构函数
完成对象的初始化的函数是构造函数。类的对象的初始化只能由类的成员函数来进行。建立对象的同时,自动调用构造函数。类对象的定义涉及到一个类型和一个对象名。由于类的唯一性和对象的多样性,用类名而不是对象名来作为构造函数名是比较合适的。每个类必须有一个构造函数,只要一个类定义了一个构造函数,就不再提供默认构造函数(默认具有随机性)。与变量定义类似,在用默认构造函数创建对象时。如转载 2017-10-15 10:48:27 · 222 阅读 · 0 评论 -
C++笔记——static数据成员
1. 在static成员函数中不能使用this指针。this指针是对象的地址,而static是类这个层次的,它不属于任何一个对象。2. 即使没有实例化类的对象,static数据成员和成员函数仍然可以使用。3. static成员的名字在类的作用域中,因此可以避免与其它类的成员或者全局对象名字冲突。4. 可以实施封装,static成员可以是私有成员,而全局对象不可以。5.通过阅读代转载 2017-10-16 13:19:30 · 220 阅读 · 0 评论 -
C++笔记——引用&
操作引用:&只有在声明引用时是引用操作符,其他时候都是地址操作符。引用和变量指向同一个存储单元:引用一旦初始化,它就维系在一定的目标上,再也不分开例:int val = 0;int& r_val = val;cout cout 输出的地址相同。----------------------------------------------------------转载 2017-10-13 21:38:53 · 145 阅读 · 0 评论 -
C++笔记——关键字/保留字大全
bool —— 数据类型(表示真假)false —— bool类型的假值true —— bool类型的真值try —— try-catch异常处理结构中关键字catch —— try-catch中的关键字char —— 字符数据类型关键字int —— 自然整数类型关键字void —— 函数中不需要类型返回时的关键字short —— 短整型数据关键字转载 2017-10-12 20:54:11 · 2906 阅读 · 0 评论 -
C++笔记——关于cout的控制
1. 强制以小数的方式显示cout 2. 控制显示的精度(需加头文件iomanip)cout cout转载 2017-10-13 11:02:53 · 304 阅读 · 0 评论 -
C++笔记——拷贝构造函数1
拷贝构造函数是一种特殊的构造函数,具有单个形参,此形参是对该类型的引用。当定义一个新对象并用一个同类型的对象对它初始化时,将显示使用拷贝构造函数。当将该类型的对象传递给函数或从函数返回该类型的对象时,将隐式地调用拷贝构造函数。如果一个类没有定义拷贝构造函数,编译器会默认提供拷贝构造函数。main.cpp#include #include "student.h"#includ转载 2017-10-17 10:49:37 · 262 阅读 · 0 评论 -
C++笔记——const关键字
一、指定了一个不该被改动的对象。二、限定指针类型。const *:表示被指物是常量。* const :表示指针自身是常量。例:a = 0; b = 1;------------------------------------------------const int *p = &a;p = &b; // *p = 1;是错的这里const修饰的是类型in转载 2017-10-19 19:42:50 · 148 阅读 · 0 评论 -
C++笔记——友元函数
在某些情况下,允许特定的非成员函数访问一个类的私有成员,同时仍然阻止一般的访问。友元机制允许一个类将对其非公有成员的访问权授予指定的函数或类。1. 友元的声明以关键字friend开始。2. 只能出现在类定义的内部。3. 可以出现在类中的任何地方,不是授予友元关系的那个类成员,所以不受其声明出现部分的访问控制影响。友元关系是授予的,不对称的,友元会破坏封装。转载 2017-10-19 21:57:58 · 246 阅读 · 0 评论 -
C++笔记——C语言与C++的区别
C语言是结构化和模块化的语言,面向过程。未完全实现解决软件设计危机(比如代码行上千万)的目标。C++保留了C语言原有的所有优点,增加了面向对象的机制。还对C语言的功能做了补充:1. 变量的定义可以出现在程序中的任何行2. 提供了标准输入输出流对象cin, cout3. 用const定义常变量4. 函数重载、函数模板、带默认值的函数5. 引用类型6. 单目作用域运算符转载 2017-10-11 21:43:09 · 200 阅读 · 0 评论 -
C++笔记——运算符重载
类是用户自定义的数据类型,使用运算符重载可以实现如下逻辑:对象3=对象2+对象1,如描述复数的类,描述字符串的类,提高程序的可读性。重载赋值运算符:如果一个类没有提供赋值运算函数,则默认提供一个;如果一个类提供了拷贝构造函数,那么也要提供一个重载的赋值运算函数。运算符重载的形式:成员函数,友元函数。转载 2017-10-20 10:13:46 · 189 阅读 · 0 评论 -
C++笔记——类模板
类模板作用:1. 将程序要处理的对象的类型参数化。2. 使程序可以处理不同类型的对象。类模板定义:template class 类名 {类成员声明};在类模板以外定义其成员函数:template 类型名 类名 ::函数名(参数表)转载 2017-10-21 11:08:24 · 178 阅读 · 0 评论 -
C++笔记——标准模板库STL
将算法从特定的数据结构中抽象出来。STL是泛型程序设计的一个范例,由一些可适应不同需求的集合类以及在这些数据集合上操作的算法构成。STL组件:容器container:管理某类对象的集合。迭代器iterator:在对象集合上进行遍历算法algorithms:处理集合内的元素。函数对象function object。转载 2017-10-21 11:35:18 · 237 阅读 · 0 评论 -
C++笔记——多态
同样的方法调用而执行不同操作、运行不同代码。多态通过分离做什么和怎么做,从另一个角度将接口和实现进行分离。多态消除了类型之间的耦合关系。LSP(Liskov替换原则):子类型必须能够替换掉它们的基类型。多态的概念基于对象引用的动态绑定特性。多态实现过程:1. 子类重写父类的方法;2. 代码中向父类型变量发出消息(静态绑定---编译期);3. 运行时,根据变量实际引用转载 2017-10-20 22:59:19 · 148 阅读 · 0 评论 -
C++笔记——公有继承、私有继承、保护继承、多重继承
公有继承:基类的public和protected成员的访问属性在派生类中保持不变,但基类的private成员不可直接访问。派生类的成员函数可以直接访问基类中的public和protected成员,但不能直接访问基类的private成员。通过派生类的对象只能访问基类的public成员。私有继承:void setCatLocation(string location)转载 2017-10-20 21:34:22 · 306 阅读 · 0 评论 -
C++笔记——拷贝构造函数2
编译器提供的默认拷贝构造函数的行为:执行逐个成员初始化,将新对象初始化为原对象的副本。“逐个成员”,指的是编译器将现有对象的每个非static成员,依次复制到正在创建的对象。浅拷贝:创建p2时,对象p1被复制给了p2,但资源并未复制,因此,p1和p2指向同一个资源。深拷贝:转载 2017-10-17 19:05:17 · 191 阅读 · 0 评论