C++
Angel69Devil
这个作者很懒,什么都没留下…
展开
-
C++中typename关键字的使用方法和注意事项
原文地址:http://blog.csdn.net/pizzq/article/details/14870041, 什么地方使用?用在模板定义里,标明其后的模板参数是类型参数。例如 templateT foo(const T& t, const Y& y){//....};templaceclass CTest{private: T转载 2016-09-01 15:04:35 · 456 阅读 · 0 评论 -
new(std::nothrow) 和 new
原文网址:http://blog.csdn.net/zgjxhgh/article/details/30263031普通new一个异常的类型std::bad_alloc。这个是标准适应性态。在早期C++的舞台上,这个性态和现在的非常不同;new将返回0来指出一个失败,和malloc()非常相似。 在内存不足时,new (std::nothrow)并不抛出异常,而是将指针置N转载 2016-08-10 16:56:14 · 558 阅读 · 0 评论 -
头文件和库文件的区别
原文地址:http://blog.chinaunix.net/uid-27575921-id-4078661.html头文件一般而言,是申明和定义。库文件是已经编译好的二进制代码。这个二进制代码可以是动态的,如 .so 也可以是静态的,如 .a ,如果是动态的,则你最后生成的程序文件在运行时,需要这个动态库的支持,如果是静态的,则你最后生成的客执行程序文件运行时可以脱离这个库文件而转载 2016-08-10 21:22:57 · 576 阅读 · 0 评论 -
VS添加lib以及对编译过程的总结
本来是想在VS2013添加一个lib的。由此认识到对编译的原理认识不清楚,所以记录一下先说在vs中添加lib库的方法:通过设置工程来添加lib库:1.添加一个项目,右键属性,改变 配置属性----常规 中的配置类型为静态库或者动态库,然后可以改变输出目录(指定一下库目录),此步骤就设置成了一个lib库2.在项目中使用,也需要设置属性,因为要保证找到头文件和库文件,所以在 配原创 2016-08-11 12:46:39 · 3754 阅读 · 0 评论 -
C++ 内存分配(new,operator new)
原文地址:http://blog.csdn.net/wudaijun/article/details/9273339 本文主要讲述C++ new运算符和operator new, placement new之间的种种关联,new的底层实现,以及operator new的重载和一些在内存池,STL中的应用。一 new运算符和operator new(): ne转载 2016-08-12 18:04:31 · 383 阅读 · 0 评论 -
析构函数可以是纯虚函数
在某些类里声明纯虚析构函数很方便。纯虚函数将产生抽象类——不能实例化的类(即不能创建此类型的对象)。有些时候,你想使一个类成为抽象类,但刚好又没有任何纯虚函数。怎么办?因为抽象类是准备被用做基类的,基类必须要有一个虚析构函数,纯虚函数会产生抽象类,所以方法很简单:在想要成为抽象类的类里声明一个纯虚析构函数。 class awov { public: vi转载 2016-12-25 20:46:47 · 1513 阅读 · 0 评论 -
对于const常量定义在头文件的思考
今天在看effective C++ title02 时,看到一句话:由于常量定义式通常被放在头文件中(以便被不同的源码含入)。感觉十分困惑,因为在我的印象中,变量是不能定义在头文件中的,会引起重复定义的错误。c++primer原文: 默认状态下,const对象仅在文件中有效当以编译时初始化的方式定义一个const对象时,就如对bufSize的定义一样:const int b原创 2017-08-01 20:47:23 · 8387 阅读 · 1 评论 -
关于两个类相互包含引用的思考
今天遇到一个问题,编译时遇到了如下错误:错误 1 error C2146: 语法错误: 缺少“;”(在标识符“move”的前面) 错误 2 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int写个最简单的例子:#ifndef __ROBOT_H__#define __ROBOT_H__#include "mo原创 2017-08-19 20:59:43 · 562 阅读 · 0 评论 -
string切割
#incldue using namespace std;#incldue #incldue typedef std::vector vecStr;void SubStr(vecStr& toke, const std::string& src, const std::string& spec){ size_t Pos = 0; size_t Pre原创 2018-02-02 21:35:54 · 314 阅读 · 0 评论