MISAYAONE
拒绝一切形式的代考,替考行为,务必诚信考试!!!本人所写题库均搜集于互联网。
展开
-
#pragma warning (disable:4200)什么意思?(清除VS工程的警告方法)
如果项目中的烦人警告太多,可用此方法清除。关于#pragma warning 1.#pragma warning只对当前文件有效(对于.h,对包含它的cpp也是有效的), 而不是是对整个工程的所有文件有效。当该文件编译结束,设置也就失去作用。 2.#pragma warning(push) 存储当前报警设置。 #pragma warning(push, n) 存储当前报警设置...原创 2018-11-11 09:59:01 · 2099 阅读 · 1 评论 -
visual studio2010 C++错误 ""表达式必须包含整数或枚举类型""_
一般这种问题都是一个类型函数中的参数是某些特定类型的,而你用了其他类型,当其他类型强制转换都匹配时,则会报错一句话说就是变量的类型不对典型的例子有:sqrt()函数:double sqrt (double x);float sqrt (float x);long double sqrt (long double x);a^b;//并不是a的b次方,这里是亦或的意思,所以a和b...原创 2018-10-07 16:54:33 · 73285 阅读 · 1 评论 -
2019秋招。
OFFER情况中国银联内推 提前批offer 32w C++开发VIPKID 提前批offer 2314 C++开发上海八院八部 offer 18w C++开发百度内推 ...原创 2018-10-06 10:47:18 · 4335 阅读 · 25 评论 -
error:正被停用的激活上下文对于当前执行线程来说不是活动的。
定义了一个对象指针,没有用new分配内存,而直接对其成员函数赋值,内存访问越界。用之前记得初始化!!!!!!!!!!原创 2018-01-23 09:53:58 · 1206 阅读 · 0 评论 -
VS中Dubug和Release的详细区别
首先,要明白Debug和Release到底是什么。大神的说法: Debug 和 Release 并没有本质的区别,他们只是VC预定义提供的两组编译选项的集合,编译器只是按照预定的选项行动。如果我们愿意,我们完全可以把Debug和Release的行为完全颠倒过来。当然也可以提供其他的模式,例如自己定义一组编译选项,然后命名为MY_ABC等。习惯上,我们仍然更愿意使用VC已经定义好原创 2018-01-23 09:50:09 · 25832 阅读 · 0 评论 -
剑指offer 反转链表
对于链表的反转,同样需要考虑一些问题:代码的鲁棒性,输入链表头指针是否为NULL修改链表中指针的指向时,千万不要发生链表断裂的情况,导致下一个结点丧失仔细考虑问题解决的逻辑,不要急于下笔写完代码之后花时间进行简单的测试用例(单元测试),确保万无一失#include #include #include #include using namespace std;原创 2017-11-23 08:54:03 · 737 阅读 · 0 评论 -
剑指offer 合并链表
合并排序好的两个链表,同样需要注意一下问题:代码鲁棒性(对NULL等特殊输入有对应)代码正确性(没有链表断裂的情况)对于链表的大量指针操作,一定要将指针的命名对应其意义,尽量不出错合并链表还可以用递归的方式进行#include #include #include #include using namespace std; typedef int d原创 2017-11-23 09:00:17 · 744 阅读 · 0 评论 -
剑指offer 有环链表
链表带环的情况下就需要活用指针:两个指针的组合可以很好的遍历结点两个指针的行走速度有差异即可(一步、两步、先走后走)原创 2017-11-21 09:21:42 · 587 阅读 · 0 评论 -
剑指offer 输出链表/逆序输出
#include #include #include #include using namespace std; typedef int datatype;struct Node{ datatype value; Node* Next_Node;};//从头到尾打印链表中的结点/*面试官是否允许这个函数允许改变输入,也就是改变输入链表的顺序是一个交流点*原创 2017-11-19 10:40:18 · 423 阅读 · 0 评论 -
剑指offer 链表与指针
涉及到链表的面试题:如果有链表编号的参数,先明确链表的编号是从0开始还是从1开始如果输入有编号、个数这样的参数时,使用unsigned int ,这样最多只需要判断其不等于0即可两个指针可以做很多事,例如先把他们间隔固定,最后一个到结尾时,第一个指针就指向倒数第n个结点了输入的有效性必须进行判断,涉及到鲁棒性在代码中,有Node->Next_Node出现时,注意判断其是否为NULL(n原创 2017-11-19 19:09:55 · 598 阅读 · 0 评论 -
剑指offer 链表
链表是一种较为简单的数据结构,但是其相关的问题也是相对较为复杂的。链表的结构很简单,它是由指针把若干个结点连接成的链状结构。由于其是一种动态的数据结构,所以一般是对指针进行操作。在遇到链表的问题时,有几点需要注意的地方:我们需要对链表结构有正确的认识我们需要对传入的指针做正确的输入判断我们需要对头指针的特殊性进行判断(删除结点、插入结点)临时结点的应用可以使得传入参数无需改变,原创 2017-11-19 09:04:06 · 859 阅读 · 0 评论 -
C++ 二维数组详解
严格来说,C++中没有多维数组,通常所说的多维数组实际上是数组的数组。多维数组的初始化int a[2][2] = {{1,2},{3,4}};//最正常的初始化,谨记多维数组是数组的数组int a[2][2] = {1,2,3,4};//与上等价,但这样看起来不是很方便int a[2][2] = {{1},{2}};//只初始化每一行的第一个元素,其它执行默认初始化int a原创 2017-11-16 09:17:45 · 4452 阅读 · 0 评论 -
深度探索C++ 对象模型【第五章1】
1:拥有纯虚函数的基类不可能拥有实例对象。virtual =02:一般而言,class 的data member应该被初始化,而且只能以两种方式初始化在constructor中指定初值在member function 中指定初值任何其他的初始化操作都会破坏封装的特性,使得class的维护和修改变得困难。3:C++中,纯虚函数是可以定义和调用的,但是其只能被静原创 2017-11-09 09:11:43 · 613 阅读 · 0 评论 -
深度探索C++对象模型 【第四章2】
1:关于取地址的艺术~直接取一个非静态成员变量的地址时,得到的是其在class中的真实offset再加1。当绑定到真实的对象上再取其地址时,得到的是其在内存中的真正地址。取一个非静态成员函数的地址时,得到的是其在内存中真正的地址,但是要存取该函数,也需要对象的地址来配合。直接存取一个静态成员变量的地址时,无论通过对象还是class,得到的都是其在内存中的真正地址。直接存取一个静态成员函原创 2017-11-07 09:16:58 · 414 阅读 · 0 评论 -
深度探索C++对象模型【第三章2】
1:通过对象指针还是对象来存取数据成员之间的差异:当该类是一个派生类,且其继承链中有一个虚基类存在,并且存取的member成员是一个从该虚基类中继承而来的成员时,就会有重大的差异。此时通过指针来存取的话,由于多态机制的存在,指针所绑定的对象类型要到执行期才能确定,所以存取的操作也必须延长到执行期;但是如果使用对象来存取,就不会有这样的问题存在,成员的offset在编译器就能够确定。原创 2017-11-06 09:16:16 · 578 阅读 · 0 评论 -
深度探索C++对象模型 【第四章1】
1:静态成员函数(static member function)不可能是做到以下两点:不可能直接存取非静态成员变量不可能被声明为const原创 2017-11-06 09:23:18 · 803 阅读 · 0 评论 -
深度探索C++对象模型【第三章1】
1:编译器会为每一个空class安插一个char,使得这个class的两个objects对象在内存中配置独一无二的内存地址。这就解释了空类的大小为何为1(即使该类为派生类,也需要为其安插一个char来区分其对象)。(传统意义上这个char会被放到class 的尾端)2:class 的大小主要和以下三种因素相关:虚拟机制带来的负担:一个指针,或是指向一个相关的vbtl,或是一个虚基类原创 2017-11-05 09:28:04 · 506 阅读 · 0 评论 -
C/C++ extern 关键词详解
定义: extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。extern + 变量 在一个源文件里定义了一个数组:char a[5]; 在另外一个文件里用下列语句进行了声明:extern char *a;请问,这样可以吗? 答案与分析: 1)、不可以,程序运行时会告诉你非法访问。原因在于原创 2017-11-05 09:24:39 · 5928 阅读 · 0 评论 -
深度探索C++ 对象模型【第二章1】
1:在C++的构造函数上,往往编译器会做很多你不知道的事,就比如说构造函数的隐式转换,虽然有时候很方便,但是在某些情况下会造成一些意想不到的情况发生,explict关键词就因此而生~!2:当编译器需要时,才会合成一个default constructor出来(默认构造函数)。被执行出来的默认构造函数只能执行编译器所需的行动,它不会满足程序本身的需要。下面讨论四种必须为class合成一个构造函数原创 2017-11-04 09:00:58 · 790 阅读 · 0 评论 -
深度探索C++ 对象模型【第二章2】
1:NRV的优化会出现在,函数以传值的方式传回一个类对象,当该类有一个拷贝构造函数时,编译器会对你的代码进行一定的背后优化。2:成员初始化时,当出现以下四种情况,必须使用成员初始化列表的操作:初始化一个引用reference成员时初始化一个常量const成员时当调用一个base的构造函数,而基类的构造函数拥有一组参数时当调用一个成员类对象的构造函数时,且该成员类的构造函数拥原创 2017-11-04 09:02:49 · 703 阅读 · 0 评论 -
C++ explict关键词详解
C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显式的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况听得有点云里雾里~~直接上代码class CxString // 没有使用explicit关键字的类声明, 即默认为隐式声明 { public: char *_pstr;原创 2017-11-03 09:02:18 · 4821 阅读 · 0 评论 -
Word 从任意页开始设置页码
Word 2013 光标移到想设置起始页码的前一页的末端位置,页面布局——分隔符——下一页 即可~此外,在设置目录的时候,格式刷的作用非常的好,选中想要复制的格式文字,点击格式刷,再选中想要改动的文字即可~原创 2017-10-22 14:12:00 · 612 阅读 · 0 评论 -
剑指offer 关于C#
较为简单的几点:1:C#中,在没有注明的情况下,struct和class中的成员都是private的。struct的实例在栈上分配内存,class的实例在堆上分配内存2:C#中,有一种静态构造函数,如果一个类定义了静态构造函数,那么在使用这个类之前会先调用该静态构造函数,也就是说,静态构造函数的调用优先级先于普通构造函数3:关于反射和应用程序域的问题比较深入,有兴趣可以加深了解。原创 2017-10-22 15:50:18 · 636 阅读 · 0 评论 -
剑指offer 关于单例模式
为什么会有单例模式?典型的情况是,那些对象的类型被遍及一个软件系统的不同对象访问,因此需要一个全局的访问。比如窗口管理器,打印缓冲池和文件系统在单例模式之前,先说一下为什么不使用一个全局变量来代替单例模式全局变量在项目中是能不用就不用的,它是一个定时炸弹,是一个不安全隐患,特别是在多线程程序中,会有很多的不可预测性;同时,使用全局变量,也不符合面向对象的封装原则。原创 2017-10-22 16:12:42 · 480 阅读 · 0 评论 -
深度探索C++对象模型之前言
为什么要学习C++对象模型?侯捷大师给出的答案是:C++的一个特殊之处就是编译器会帮程序员做很多的“事”:对象的构造函数、析构函数、虚拟继承、多态、拷贝构造函数等等,它会为我们合成一系列的额外函数(还可能会包含一些运算符),有时候它还会扩张我们所写的函数内容,放入更多的操作,更甚者会给我们的“对象”本身加入很多“奇奇怪怪”的内容。学习此书解决了我们对于C++底层实现机制的困惑。个人原创 2017-10-09 17:02:14 · 585 阅读 · 0 评论 -
如何显示 word 左侧目录大纲
Word 2007 视图——文档结构图Word 2010及以后版本 视图——导航窗格原创 2017-10-19 17:20:11 · 3897 阅读 · 0 评论 -
Traincascade Error: Bad argument (Can not get new positive sample. Themost possible reason is insuff
问题:Traincascade Error: Bad argument (Can not get new positive sample. Themost possible reason is insufficient count of samples in given vec-file.)解析:设置的numPos过大,由于训练时POS_count会随你设置的numPos增大,每一级都原创 2017-09-27 09:29:57 · 3746 阅读 · 4 评论 -
traincascade's error (Required leaf false alarm rate achieved. Branch training terminated.)
问题:traincascade's error (Required leaf false alarm rate achieved. Branch training terminated.)解析:虚警率已经达标 不再继续训练 ,这里不能说是一个错误,只能说制作出来的xml文件可能较差解决办法:先测试一下生成的cascade.xml,如果效果没有达到你的预期,有以下几个解决方案:1原创 2017-09-27 09:31:28 · 6170 阅读 · 6 评论 -
error LNK2001: 无法解析的外部符号 "private: static class Earth * Earth::earth_Instance"
仔细检查一下你的类中的 static 变量是否已经定义,且要放在类的外部定义!!!其实就是一个静态变量未初始化的问题~~原创 2017-09-26 15:43:43 · 7228 阅读 · 1 评论 -
C++单例模式(自动释放实例)
最基础的实现方法:#include using namespace std;class Singleton{public: static Singleton *GetInstance() { if (m_Instance == NULL ) { m_Instance = new Singleton (); } return m_Instance; }原创 2017-09-26 16:47:23 · 1070 阅读 · 0 评论 -
C++ DLL动态链接库的使用方法
材料:VS2010静态调用DLL第一步:将DLLTest.h头文件和DLLTest.lib,DLLTest.dll 这三个文件拷贝到客户端程序的当前目录(即main.cpp所处目录)下,在客户端程序中#include第二步:在项目->属性->配置属性->链接器->输入->附加依赖项->写上DLLTest.lib 点击确定保存。之后就可以在你的程序中随原创 2017-09-13 19:43:02 · 964 阅读 · 0 评论 -
C++ DLL动态链接库的制作
材料:VS2010最近写了一个Class,将其打包成dll,供同项目的另一位同学调用。预处理部分:第一步:在 .h 头文件中的class和类名之间加上 _declspec(dllexport) 修饰符表示导出,即作为一个DLL的对外接口第二步:在另外一份提供给客户端调用程序使用的类的 .h 头文件中class和类名之间加上 _declspec(dllimpo原创 2017-09-16 09:48:26 · 1459 阅读 · 0 评论 -
"const char *" 类型的实参与 "LPCTSTR" 类型的形参不兼容
LPCTSTR就是一个32-bit指针指向一个常字符串,每字符可能占1字节或2字节,取决于Unicode是否定义LPCTSTR是一个windows API数据类型。根据windows API数据类型的命名规律:1)L——long 指针,是为了兼容Window3.1等16位扣件系统遗留下来的,在Win32中以及其他的32的扣件系统中,long 指针和near 指针及far 修饰符都是原创 2017-09-16 09:47:30 · 2451 阅读 · 0 评论 -
自用 VS2010 开发环境编辑风格 / .vssettings文件使用
给大家推荐一个非常优秀的VS开发环境设置网站:https://studiostyl.es/里面有非常多优秀的开发环境设置下载 .vssettings 文件后的使用方法是:工具 导入和导出设置 导入选定环境设置 下一步 浏览 找到下载的环境设置 下一步 完成~用着还不错~~原创 2017-09-14 09:10:26 · 7664 阅读 · 1 评论 -
操作系统——分页式内存管理
操作系统——分页式内存管理为什么要引入内存管理?答:多道程序并发执行,共享的不仅仅只有处理器,还有内存,并发执行不过不进行内存管理,必将会导致内存中数据的混乱,以至于限制了进程的并发执行。扩充内存的两种方式?答:覆盖和交换技术是扩充内存的两种方法1:覆盖技术。覆盖的基本思想是:由于程序运行时并非任何时候都需要访问程序和数据的各个部分(尤其对大程序而言),因此可以把用户空间分成一个固定区和若干个覆盖区原创 2017-08-27 18:50:41 · 27252 阅读 · 4 评论 -
操作系统——分段式内存管理
操作系统——分段式内存管理分页式的优点从计算机的角度出发,提高了内存的利用率,提升了计算机的性能,以分页通过硬件机制实现,对用户透明分段式的优点考虑到用户和程序员,已满足方便编程、信息保护和共享、动态增长、动态链接等多方面需求分段式内存管理分段:按照用户进程中的自然段划分逻辑空间,例如:用户的进程由主程序、两个子程序、栈和一段数据组成,五部分划分为 5 个段,每段都从 0 开始编址,并分配一段连续的原创 2017-08-27 18:51:42 · 7702 阅读 · 2 评论 -
贪心算法——C++实现经典案例——中级
背包问题下面是一个可以试用贪心算法解的题目,贪心解的确不错,可惜不是最优解。[背包问题]有一个背包,背包容量是M=150。有7个物品,物品可以分割成任意大小。要求尽可能让装入背包中的物品总价值最大,但不能超过总容量。物品 A B C D E F G重量 35 30 60 50 40 10 25价值 10 40 30 50 35 40 30分析:目标函数: ∑原创 2017-08-25 09:58:42 · 4019 阅读 · 0 评论 -
操作系统——内存管理
操作系统——内存管理内存关系的定义?答:虽然随着计算机硬件的发展,内存容量不断的扩大,但是仍不可能将所有用户进程和系统所需要的全部程序和数据都放在主存中,操作系统必须对内存空间进行有效合理的划分和有效动态的分配。所以,操作系统对内存的划分和动态分配,就是内存管理。内存管理的四大功能?答:1:内存空间的分配与回收。由操作系统完成主存储器的内存分配和管理,免去了程序员分配内存的麻烦,提高编程效率2:地址原创 2017-08-22 09:52:48 · 1329 阅读 · 0 评论 -
c++ 读取文件夹下的所有文件名(实现未知文件名也可以批量读取文件)
首先,需要知道的就是一个数据结构!名为:WIN32_FIND_DATA 必须包含的头文件名称为:#include 百度上的定义: 它意为关于文件的全部属性信息。总计有以下以下9种:文件的标题名、文件的属性(只读、存档,隐藏等)、文件的创建时间、文件的最后访问时间、文件的最后修改时间、文件大小的高位双字、文件大小的低位双字、保留、保留。在这里只有文件标题名和文件的原创 2017-08-19 09:50:40 · 4322 阅读 · 3 评论 -
C++ 将int转换为string的两种方法【to_string和sstream】
第一种是to_string函数,C++11新特性,使用非常方便,简单查了下:c++11标准增加了全局函数std::to_string,以及std::stoi/stol/stoll等等函数(这几个就是string转int,long,以及long long啦~)string to_string (int val);string to_string (long val);string原创 2017-08-19 09:51:16 · 3341 阅读 · 0 评论