自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (3)
  • 收藏
  • 关注

原创 C++入门(21):二进制文件、C风格字符串

C++入门(21):二进制文件、C风格字符串二进制文件 可以通过写入二进制数据的办法来存储各种复杂的数据类型; 把数据写入二进制文件,其调用语法为: std::ofstream fileOutput("filename",std::ios::binary);如果想把新数据追加到现有数据后面,需要加上 std::ios.app,即 std::ofstream fileOutput("filen

2016-01-21 10:44:51 770 1

原创 Numpy——ndarray对象(1):创建数组

Numpy——ndarray对象(1)标准安装的Python中用列表( list )保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针。这样为了保存一个简单的[1,2,3],需要有3个指针和三个整数对象。对于数值运算来说这种结构显然比较浪费内存和CPU计算时间。 此外Python还提供了一个 array 模块,array 对象和列表不同,它直接保存数

2016-01-20 11:05:59 5916 2

原创 C++入门(20):字符串

C++入门(20):字符串字符串 提取子字符串 substr() :返回当前字符串的一部分。常见的有两个输入参数的重载函数为:第一个参数表明从哪个位置开始提取子字符串,是一个从0开始的整数值;第二个参数是子字符串的长度。 比较字符串 compare() ; 如果字符串里什么也没有(一个空字符串),empty()函数将返回true值 。添加字符串 字符串拼接 + :可以用来把一些新文本追加到

2016-01-19 09:58:17 642 2

原创 C++入门(19):向量与迭代器

C++入门(19):向量与迭代器容器 容器一般通过模板来实现,即容器一般为模板的实例化。向量容器(头文件 #include <vector>) 如果想创建特定类型的向量,需要使用的语法为:std::vector<type> vectorName; 比如,std::vector<std::string> names;即定义了一个字符串向量。1) 向量可以动态地随着你往它里面添加元素而无限增大——只

2016-01-18 09:51:52 2576 1

原创 C++入门(18):模板

C++入门(18):模板模板( template )、 STL(标准模板库) 在泛型编程技术里,仍需要编写自己的函数和类,但不必限定它们所使用的数据类型(int、double 或 myClass); 只需使用一个占位符(通常用字母T表示),然后用这个占位符来编写函数 。 模板的基本语法,只要把 template <type> 这行代码放在函数或类的前面就可以定义出一个模板;比如:templat

2016-01-17 17:34:33 530 3

原创 C++入门(17):命名空间和模块化

C++入门(17):命名空间和模块化命名空间和模块化 系统级头文件作用:保证C++代码的可移植性; 头文件基本用途:提供必要的函数声明、 用户自定义数据类型(结构和类)、模板和全局性的常量。C预处理器:以 # 开头,不允许以分号结尾。 预处理的条件指令:#if #else #elif #endif #ifdef #ifndef 比如:#ifndef MYCLASS_H

2016-01-16 10:23:48 643 1

原创 C++入门(16):副本构造器和赋值操作符、强制类型转换

C++入门(16):副本构造器和赋值操作符、强制类型转换副本构造器和赋值操作符 副本构造器形式为:MyClass(const MyClass &rhs); ,没有返回类型。 赋值操作符形式为:MyClass &operator=(const MyClass &rhs); 只要声明了一个有指针属性并将在析构器里释放那块内存的类,就需要实现一个副本构造器和一个赋值操作符,两者缺一不可。 一定要保

2016-01-14 13:50:11 561 1

转载 c++虚函数实现原理

c++虚函数实现原理 - [c++]2011-09-15版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://www.blogbus.com/wanderer-zjhit-logs/161830653.htmlFROM: http://pcedu.pconline.com.cn/empolder/gj/c/0503/574706_3.html

2016-01-12 18:07:19 419 2

原创 C++入门(15):从函数或方法返回内存:工厂函数

C++入门(15):从函数或方法返回内存:工厂函数从函数或方法返回内存 一旦需要根据某种条件创建不同类型的对象,就应该使用工厂函数(方法); 工厂函数(或方法)最适合用在需要根据一些存档数据(例如一个文件)来创建不同类型的对象的场合。任何一个函数都不应该把它自己的局部变量的指针作为它的返回值;如果想让一个函数在不会留下任何隐患的情况下返回一个指针,那它只能是一个动态分配的内存块的基地址。 总之

2016-01-12 17:23:22 1307 3

原创 C++入门(14):动态内存管理

C++入门(14):动态内存管理动态内存管理 动态内存只受限于计算机里的硬件内存总量。 从内存池申请一些内存使用 new 语句,new 语句返回新分配地址块的起始地址,如果没有足够的可用空间,new 语句将抛出std::bad_alloc异常; 使用完内存块之后,应该用 delete 语句把它还给内存池; 用 delete 语句把内存块“重置”为未分配状态,但那个指针占用的空间仍保留着,所以

2016-01-11 17:45:40 487 4

原创 C++入门(13):错误处理和调试

C++入门(13):错误处理和调试C++中错误分为:编译时错误和运行时错误; 错误处理和调试方法: 1)让函数返回错误代码; 2)使用assert() 函数:assert() 函数需要一个输入参数,它将测试这个输入参数的真/假状态。如果条件为真,什么事情都不会发生;如果条件为假,程序将停止执行并报告一个错误 Assertion failed!。 3)捕获异常;其基本语法为: try{

2016-01-10 14:16:29 617 3

原创 C++入门(12):高级OOP技术:重载操作符、多继承和虚继承

C++入门(12):高级OOP技术:重载操作符、多继承和虚继承重载操作符 如果要重载某个操作符(比如加号+),只需创建一个名为 operator+ 的方法即可:type operate+(Mytype rhs);多继承 多继承基本语法:以逗号作为分隔符把打算继承的类(包括它们的访问控制限定符)全部列出来即可,比如:class TeachingStudent:public Student,publ

2016-01-09 21:01:42 712 1

原创 C++入门(11):高级OOP技术:虚方法和抽象方法

C++入门(11):高级OOP技术:虚方法和抽象方法直接创建一个指针并让它指向新分配的内存块:type *pointName = new type;,一定要记着释放刚才分配的那个内存块:delete pointName;,否则会造成内存泄露。虚方法 为了让编译器知道它应该根据指针在运行时的类型而有选择地调用正确的方法,就必须把这些方法声明为虚方法; 声明一个虚方法只要在其原型的前面加上 virt

2016-01-08 22:58:26 592 2

原创 C++入门(10):高级OOP技术:静态方法和属性

C++入门(10):高级OOP技术:静态方法和属性创建一个静态方法或静态属性,只要在它的声明前加上 static 保留字即可。静态属性是在同一个类的所有实例之间共享的,不属于某个特定的对象; 在声明了静态属性之后,还需要为它分配一块用来存储有关数据的内存(很重要!!):就像创建变量一样,只要在类声明的外部写出静态属性的类型和名字就可以了,比如:int Pet::count无需创建对象就可以访问类的

2016-01-08 11:15:12 553 1

原创 C++入门(9):类的继承(2)

C++入门(9):类的继承(2)构造器越简明越好,最好只用它来初始化各有关属性。 访问控制通过访问级别实现: 1)public : 任何代码都可以访问; 2)protected : 这个类本身和它的子类可以访问; 3)private : 只有这个类本身可以访问;对函数/方法进行重载一定要慎重,重载方法/函数越多,程序就越不容易看懂; 覆盖方法: 在对方法进行覆盖(注意不是重载)时一定要认

2016-01-06 13:35:40 469 2

原创 零基础入门学习Python(27):模块和包

零基础入门学习Python(27):模块和包今天简单介绍一下Python的模块。 首先,我们知道容器是对数据的封装,函数是对语句的封装,类是对方法和属性的封装,而对于模块,它就是程序。Python有很多模块,如果写代码的时候要用到模块的功能,就需要先导入模块,导入模块有三种方式: 1) import 模块名 2) from 模块名 import 函数名 3) import 模块名 as 新名

2016-01-05 16:02:41 963 2

原创 C++入门(8):类的继承(1)

C++入门(8):类的继承(1)通过继承机制,可以对现有的、可信的代码进行扩展,并应用在新的程序中。 子类是从基类(父类或超类)派生出的类,形式为: class SubClass:public(protected、private) SuperClass{...}对象之间的关系: 1)继承:比如说“狗是一个宠物”,则可以创建一个名为 Pet(宠物)的基类,再由它派生出一个名为 Dog(狗)的子类

2016-01-04 15:16:58 531 2

原创 零基础入门学习Python(26):生成器

零基础入门学习Python(26):生成器生成器(generator):在普通的函数中加上 yield ,使Python模仿协同程序的概念得以实现。 所谓的协同程序就是可以运行的独立函数调用,函数可以暂停或者挂起,并在需要的时候从程序离开的地方继续或重新开始。>>> def myGen(): print('生成器被执行!') yield 1

2016-01-03 16:27:13 515 2

原创 零基础入门学习Python(25):魔法方法(5)定制序列和迭代器

零基础入门学习Python(25):魔法方法(5)定制序列和迭代器容器类型的协议: 如果希望定制不可变的容器,则需要定义__len__(self)和__getitem__(self,key)方法;如果希望定制的容器是可变的,则除了要定义上面两个方法,还需要定义__setitem__(self,key,value)和__delitem__(self,key)方法。 其中,__len__(self)

2016-01-02 11:06:54 1025 2

原创 C++入门(7):对象

C++入门(7):对象类 = 属性 + 方法; 类名的第一个字母一般采用大写,类声明的末尾必须加上分号“;”;C++允许在类里声明常量,但不允许对它赋值,除非创建一个静态常量。构造器 1)构造器的名字和它所在类的名字一样; 2)系统会在创建出某个新实例之后,立刻自动调用这个类的构造器; 3)构造器永远不返回任何值。 如果没有在类里定义一个构造器,编译器会自动创建一个,形式为:ClassNa

2016-01-01 12:41:46 450 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除