随笔分类 -  C / C++

1
摘要:1. 几个基本成员函数的作用:u.reset() 释放u指向的对象u.reset(q) 如果提供了内置指针q,就令u指向这个对象 u.reset(nullptr) 将 u 置为空u.release() u 放弃对指针的控制权,返回指针,并将 u 置... 阅读全文
posted @ 2018-06-13 00:10 Tattoo_Welkin 阅读(392) 评论(0) 推荐(0)
摘要:/*shared_ptr.h 文件*//********************************************************* > File Name: shared_ptr.h > Autho... 阅读全文
posted @ 2018-06-06 18:01 Tattoo_Welkin 阅读(226) 评论(0) 推荐(0)
摘要:零:使用STL自带的函数(less与greater) vector v{45,2,5,8454,34,68421,5,84,1,5}; sort(v.begin() ,v.end(),less());//从小到大 sort(v.begin(... 阅读全文
posted @ 2018-05-24 18:05 Tattoo_Welkin 阅读(157) 评论(0) 推荐(0)
摘要:提问:1.为什么要搞出四种,用原先使用的那种不可以吗?答:因为强制类型转换时是具有一定的风险的,这种风险包括(精度的损失 ,派生类与基类的一些转换关系) 而且根据风险程度的不同导致的 bug 也会不同 ,再加上存在许多种类型之间的转换 ,所以C++选择将其分... 阅读全文
posted @ 2018-05-10 15:47 Tattoo_Welkin 阅读(130) 评论(0) 推荐(0)
摘要:在C++11中,callable object 包括传统C函数,C++成员函数,函数对象(实现了()运算符的类的实例),lambda表达式(特殊函数对象)共4种。程序设计,特别是程序库设... 阅读全文
posted @ 2018-05-10 13:34 Tattoo_Welkin 阅读(145) 评论(0) 推荐(0)
摘要:这个我是感觉在思路上没有那么复杂啦,参考书上的提示应该能够自己写出来,就直接上代码了#include#include#include#include#include//Equivalent to " vector "class StrVec{ publ... 阅读全文
posted @ 2018-04-19 19:18 Tattoo_Welkin 阅读(151) 评论(0) 推荐(0)
摘要:首先解释一下什么是拷贝控制 ?其实就是拷贝构造函数、赋值操作符和析构函数这三种函数 . 那么如何编写这三个函数就叫做拷贝控制了.1.整体需求 :总共设计两个类:1.一个是Message,代表电子邮件消息(或者其它)2.一个是Folder ,代表消息目录 用... 阅读全文
posted @ 2018-04-18 21:23 Tattoo_Welkin 阅读(283) 评论(0) 推荐(1)
摘要:提前声明 ,这是一篇水博!!!1.使用智能指针实现:#include #include #include using namespace std ;class HasPtr {public: HasPtr(const std::string &s = ... 阅读全文
posted @ 2018-04-08 19:26 Tattoo_Welkin 阅读(237) 评论(0) 推荐(0)
摘要:1. 整体需求使用标准库实现一个简单的文本查询系统。允许用户在一个给定的文件中查询单词。查询结果是单词在文件中出现的次数以及所在行的列表。如果一个单词在一行中出现多次,该行也只列出一次,但是出现的次数得统计在内。行序号按照升序输出。2. 程序需要完成的功能和... 阅读全文
posted @ 2018-04-07 23:00 Tattoo_Welkin 阅读(300) 评论(0) 推荐(0)
摘要:0.重载运算符时,*必须首先决定是将其声明为类的成员函数(有一个this指针)还是非成员函数!!!* 一般有下面的这样一些规则:必须这样做的:=,[ ],( ) , -> 必须是成员函数 希望为类自定义IO运算符时 ,输入 >> 和输出 != )和位... 阅读全文
posted @ 2018-03-14 21:49 Tattoo_Welkin 阅读(283) 评论(0) 推荐(0)
摘要:多继承和多重继承导致的问题?多继承:就是某一个类继承了好几个基类多重继承:就是类被一层一层的继承在上面的这幅图中,类B会拷贝一份A的数据,类C会拷贝一份A的数据,那么这时候类D再继承B和C的话,就会在类D中存在两份A的拷贝 。这是绝对不允许的 。一是浪费空间... 阅读全文
posted @ 2018-03-14 17:55 Tattoo_Welkin 阅读(452) 评论(0) 推荐(0)
摘要:1.隐藏的基本概念什么是隐藏 ?就是说在下面的这种情况下,父类的ABC会在子类中进行隐藏,但是子类的确继承了父类的ABC函数 。如果一定要使用父类中的ABC,那么必须进行特殊处理。(1)成员函数的隐藏#include#include#includeusing... 阅读全文
posted @ 2018-02-26 22:16 Tattoo_Welkin 阅读(216) 评论(0) 推荐(0)
摘要:1.继承的基本概念1.类与类之间的关系has-A,包含关系,用以描述一个类由多个“部件类”构成,实现has-A关系用类的成员属性表示,即一个类的成员属性是另一个已经定义好的类。use-A,一个类使用另一个类,通过类之间的成员函数相互联系,定义友元或者通过传递... 阅读全文
posted @ 2018-02-26 20:28 Tattoo_Welkin 阅读(237) 评论(0) 推荐(0)
摘要:这是在看侯捷C++视频的时候,他提出的一个问题,称之为单例模式(singleton),有两种实现方式(懒汉与饿汉),还有多线程,使用场景(工厂模式)等等一些相关的东西,更多了解可以去百度一下。在此就简单做一个总结。方法一共有n个。根据侯老师所言,目前这两种是... 阅读全文
posted @ 2018-02-25 13:44 Tattoo_Welkin 阅读(441) 评论(0) 推荐(0)
摘要:stack 的实现1.特征:先进后出 。只能插入,删除,访问栈顶的元素 !!2.实现可以用 vector ,list ,deque 来实现。但是 vector和deque 的实现要比list实现的性能好#include#includeusing namesp... 阅读全文
posted @ 2018-01-24 16:49 Tattoo_Welkin 阅读(179) 评论(0) 推荐(0)
摘要:1.vector是什么?vector 基础知识2.如何实现:实现代码:#include#include#define count 3 using namespace std;//目标就是完成二维vector的所有操作 int main(void){ ... 阅读全文
posted @ 2018-01-01 15:10 Tattoo_Welkin 阅读(962) 评论(0) 推荐(0)
摘要:1.传值与传引用形参与实参:(1)形参一定会被初始化(2)形参名可选,如果没有形参名那么我们就不能使用该形参,所以一般都会有形参名。出现未命名的形参,一般就是说我们在该函数中用不到它,但还是必须给他提供实参。传值与传引用传值:(1)发生值的拷贝 (2)形参与... 阅读全文
posted @ 2017-12-09 15:24 Tattoo_Welkin 阅读(153) 评论(0) 推荐(0)
摘要:0.拷贝构造函数其实就是类与类之间的赋值操作所要调用的函数(因为类对象与普通对象不同,类对象内部结构较为复杂,存在各种成员变量)代码举例:#includeusing namespace std;class Myclass { private: i... 阅读全文
posted @ 2017-11-24 21:47 Tattoo_Welkin 阅读(137) 评论(0) 推荐(0)
摘要:1.容器容器用来存储数据的,数据可以是用户自定义类型(对象),也可以是预定义类型。一般用的就有(vector,list,deque)那么有什么好处呐?参考这篇博客:博客2.函数重载什么是函数重载?(what)在同一作用域内,函数名相同但参数不同的一组函数。这... 阅读全文
posted @ 2017-11-10 21:50 Tattoo_Welkin 阅读(175) 评论(0) 推荐(0)
摘要:问题索引:1.为什么要存在这种东西?2.它有什么样的作用?3.与define 有什么联系?4.C与C++中的const有什么区别?5. C++ 11 中又有了些什么新的东西?解:1.为什么要存在这种东西?就是为了避免程序员在编程时,手残修改关键部分的值(其实... 阅读全文
posted @ 2017-11-02 23:05 Tattoo_Welkin 阅读(260) 评论(0) 推荐(0)

1