![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 70
SeawoodXie
Keep learning.
展开
-
C++学习笔记3:内存模型和名称空间
《C++ Primer Plus》第9章:内存模型和名称空间吭哧吭哧继续学习~越来越觉得博客是个督促自己学习的好方法耶1. 单独编译1.1 预处理器编译指令#ifndef避免多次包含同一个头文件//coordin.h#ifndef COORDIN_H_#define COORDIN_H_....#endif1.2 程序的组织方式一般将程序分为三个部分头文件:包原创 2017-05-07 15:24:18 · 380 阅读 · 0 评论 -
C++ STL之容器
标准模板库STL标准模板库 不是面向对象编程,而是泛型编程。标准模板库STL容器创建遍历容器元素的三种方式容器的通用操作序列容器序列容器的通用操作序列容器的可选操作array固定长度的数组vector长度可变的数组deque双端队列list双向链表forward_list单向链表(C++11)stack栈queue先进先出队列priority_queu...原创 2018-08-14 21:10:45 · 229 阅读 · 0 评论 -
C++学习笔记14: 抽象基类
1. 抽象基类包含纯虚函数的类为抽象基类,不能创建抽象基类的对象纯虚函数:函数原型结尾加=0,可以不提供纯虚函数的定义,也可以提供纯虚函数的定义。从纯虚函数派生出来的类可以根据派生类的具体特征,使用常规虚函数来实现该接口。class baseQuene{public: virtual double Area()const = 0;};原创 2017-06-15 11:07:13 · 358 阅读 · 0 评论 -
C++学习笔记13:类继承和派生、虚函数
类的继承和多态,虚函数,静态联编和动态联编,访问控制protected原创 2017-06-14 11:29:15 · 870 阅读 · 0 评论 -
C++学习笔记12:类成员初始化等问题
类中嵌套结构或类声明,类的成员初始化列表,类成员的类内初始化,避免复制构造函数和执行深度复制的 赋值运算符被调用的方法原创 2017-06-13 11:14:05 · 339 阅读 · 0 评论 -
C++学习笔记11:定位new运算符
使用定位new运算符应注意:注意内存覆盖delete不能与定位new运算符配合使用,因此要显示地为定位new运算符创建的对象调用析构函数删除顺序:后创建的对象先删除,所有用定位new运算符创建的对象都被删除后再释放用于存储这些对象的缓冲区#include #include #include using namespace std;const int BUF = 512;原创 2017-06-11 14:45:55 · 1059 阅读 · 0 评论 -
C++学习笔记10:返回对象
当成员函数或者独立的函数返回对象时可以有三种情况:返回指向对象的引用、指向对象的const引用、const对象。1. 返回指向const对象的引用//version 1Vector Max(const Vector & v1, const Vector & v2) { if (v1.magval() > v2.magval()) return v1; else return原创 2017-06-11 10:05:01 · 526 阅读 · 0 评论 -
C++学习笔记8:类和动态内存分配
1.动态内存和类1.1 静态数据成员在类声明中声明,在包含类方法的文件中初始化。在初始化时使用作用域运算符并指出类型,但是不用const关键字。如果静态成员是整形或者枚举类型,则可以在类声明中初始化。//StringBad.hpp#include #ifndef STRINGBAD_H_#define STRINGBAD_H_class StringBad {private:原创 2017-05-27 09:13:30 · 292 阅读 · 0 评论 -
C++学习笔记7 : 变量命名规则及类型
1.变量1.1 C++变量类型基本类型:整形和浮点型复合类型:数组、字符串、指针和结构1.2 C++变量命名规则变量名只能由字母、数字和下滑线组成,且不能以数字开头,区分大小写不能将C++关键字用作名称以两个下滑线开头(如__my)、以下滑线和大写字母开头(如_My)的名称被保留给实现(编译器及使用的资源)使用以一个下滑线开头的名称(如_my)被保留给实现,用作原创 2017-05-18 09:26:55 · 566 阅读 · 0 评论 -
C++学习笔记9:字符串和string类简介
1. C风格字符串以空字符‘\0’结尾的char数组char cat[4] = { 'a','b','c','\0' };2. 字符串常量(字符串字面值)用双引号括起的字符串,隐式地包含结尾的空字符。应确保字符串的长度足够存储空字符在内的所有字符,声明时可以不指定长度,而是让编译器计算长度。char birds[10] = "abcdef";char egg[] = "bub原创 2017-05-27 20:33:52 · 333 阅读 · 0 评论 -
C++学习笔记6:按位运算符
按位运算符对整数值得位进行操作。1. 移位运算符1.1 左移运算符(腾出的位置用0填充,超出的位被丢弃。左移n位相当于乘以2的n次方int x = 20;int y = x << 2;x 1.2 右移运算符(>>)对于无符号整数,腾出的位置用0填充,超出边界的位被删除。对于有符号整数,腾出的位置可能用0填充,也可能用原来最左边的位填充,这原创 2017-05-17 15:48:45 · 295 阅读 · 0 评论 -
c++学习笔记5:运算符重载、友元和类的类型转换
1. 运算符重载1.1 运算符函数的声明class Time{public: Time operator+(const Time & t)const;};Time Time::operator+(const Time & t)const{ ...}1.2 运算符函数的调用常规调用方法运算符表示法:运算符左侧的对象是调用对象,运原创 2017-05-16 18:17:48 · 356 阅读 · 0 评论 -
C++学习笔记2:函数探幽
《C++ Primer Plus》第八章:函数探幽1.内联函数1.1 内联函数机制常规函数将程序流程转到独立的函数,内联函数用内联代码替换函数调用。内联函数的运行速度比常规函数稍快,但占用更多内存。如果在程序的10个地方调用了同一个内联函数,则该程序将包含该函数代码的10个副本。1.2 语法使用关键字inline,通常省略原型,将整个定义放在本应提供函数原型的地方。{C原创 2017-05-05 11:09:42 · 450 阅读 · 0 评论 -
C++学习笔记4:对象和类
最近有点烦有点烦,还是学习使我快乐,嗯,学习使我快乐~1. 过程性编程和面向对象编程过程性编程:首先考虑要遵循的步骤,然后考虑如何表示这些数据。面向对象编程:首先考虑数据(如何表示数据和如何使用数据),然后使用新的设计方案创建出程序。2. 抽象和类2.1 类规范类声明:以数据成员的方式描述数据部分,以成员函数(方法)的方式描述公有接口。放在头文件中类方法定义:描述如原创 2017-05-13 10:30:54 · 276 阅读 · 0 评论 -
C++学习笔记 1:函数
一些碎碎念~大一学的C++,大二用得多一点,然后就荒废了,现在想想,大学学的很多东西都学得很表面,学校教得不深入,自己也没有有意识地去深入自学。现在大四了,终于下定决心以后当个程序媛,还有三年的时间充实自己,慢慢来。C++学习笔记这个系列是看《C++ Primer Plus》第六版这本书做的笔记,实验室一位大神师兄赐给我的书哈哈哈O(∩_∩)O~感恩呐只是记了一些我自己不太熟的知识点,原创 2017-04-30 11:29:59 · 494 阅读 · 0 评论 -
C++ STL之迭代器
标准模板库STL标准模板库 不是面向对象编程,而是泛型编程。标准模板库STL迭代器为什么需要迭代器迭代器的通用功能迭代器类型(概念描述)将指针用作迭代器STL预定义迭代器ostream_iteratoristream_iteratorreverse_iteratorback_insert_iteratorfront_insert_iteratorinsert...原创 2018-08-14 21:32:23 · 291 阅读 · 0 评论