C++
文章平均质量分 56
bai_lu_sz
这个作者很懒,什么都没留下…
展开
-
c++关键字之explicit
C++中的explicit 构造函数需要显示调用C++提供了关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生。声明为explicit的构造函数不能在隐式转换中使用。C++中, 一个参数的构造函数(或者除了第一个参数外其余参数都有默认值的多参构造函数), 承担了两个角色。 1 是个构造器 2 是个默认且隐含的类型转换操作符。所以, 有时候在我们写原创 2013-02-16 10:41:33 · 613 阅读 · 0 评论 -
继承和组合
http://whithin.blog.51cto.com/690417/147095 组合和继承的主要目的是为了代码的重用。组合是将其他类的对象作为成员使用,继承是子类可以使用父类的成员方法。1、构造函数的调用次序:父类的构造函数——>成员对象的构造函数——>子类的构造函数;析构函数调用次序相反。2、名字隐藏:在子类中重新定义类的一个函数,基类中的所有同名的函数被隐藏,重新定义转载 2013-02-19 11:26:30 · 580 阅读 · 0 评论 -
重载
http://baike.baidu.com/view/126530.htm重载求助编辑百科名片重载,在一个类定义中,可以编写几个同名的方法,但是只要它们的签名参数列表不同,Java就会将它们看做唯一的方法。简单的说,一个类中的方法与另一个方法同名,但是参数表不同,这种方法称之为重载方法。目录简介重载是不是多态?详细解读重载的优点展开转载 2013-02-28 10:58:32 · 543 阅读 · 0 评论 -
noexcept – 阻止异常的传播与扩散
noexcept – 阻止异常的传播与扩散http://www.kingofcoders.com/viewNews.php?type=newsCpp&id=181&number=9150941222noexcept – 阻止异常的传播与扩散如果一个函数不能抛出异常,或者一个程序并没有接获某个函数所抛出的异常并进行处理,那么这个函数可以用新的noexcept关键字对其进行修饰,表示这转载 2013-03-01 11:44:59 · 1170 阅读 · 0 评论 -
for_each使用方法详解[转]
Abstract之前在(原創) 如何使用for_each() algorithm? (C/C++) (STL) 曾經討論過for_each(),不過當時功力尚淺,只談到了皮毛而已,這次看了effective STL的item 41、43後,對for_each()又有了更深入的了解,因此做了本篇心得報告。Motivation看到了eXile的C++中实现 foreach使用了巨集转载 2013-03-18 18:03:50 · 913 阅读 · 0 评论 -
程序员技术练级攻略
http://www.csdn.net/article/2011-07-20/301922导读:本文是由陈皓和他的一位朋友Mailper合作完成,原名叫《Build Your Programming Technical Skills》,本文分享了Mailper和作者个人的学习经历。每个程序员都希望自己能顺利的升级到高的层次,您不妨按照下面的方法去做。前言你是否觉得自己从学校转载 2013-04-07 13:27:00 · 697 阅读 · 0 评论 -
什么是否声明为虚析构函数 什么时候不声明为虚析构函数
http://blog.csdn.net/aleonchen/article/details/1651207 时时刻刻让自己记住 l 应该为多态基类声明虚拟析构函数。如果一个类有一个虚函数,那么它也应该有一个虚析构函数l 如果一个类不是被设计为基类或者它们并不是按照多态的方式来使用的,不要为它们声明虚析构函数 c++语言标准关于转载 2013-04-26 16:41:11 · 1433 阅读 · 0 评论 -
字节序问题
http://blog.csdn.net/sunjiajiang/article/details/7163338一、字节序定义字节序,顾名思义字节的顺序,再多说两句就是大于一个字节类型的数据在内存中的存放顺序(一个字节的数据当然就无需谈顺序的问题了)。其实大部分人在实际的开发中都很少会直接和字节序打交道。唯有在跨平台以及网络程序中字节序才是一个应该被考虑转载 2013-08-14 02:27:33 · 1225 阅读 · 1 评论 -
sizeof和strlen的区别
http://blog.csdn.net/niushuai666/article/details/7677210一、sizeof sizeof(...)是运算符,而不是一个函数。 一个简单的例子:int a;cout 在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它转载 2013-08-14 02:42:26 · 749 阅读 · 0 评论 -
windows进程函数介绍【三】
STARTUPINFO StructureSend FeedbackSpecifies the window station, desktop, standard handles, and appearance of the main window for a process at creation time.SyntaxC++原创 2013-02-17 11:39:57 · 1451 阅读 · 0 评论 -
windows进程函数介绍【一】
GetCurrentProcessId FunctionRetrieves the process identifier of the calling process.SyntaxC++DWORD WINAPI GetCurrentProcessId(void);DWORD WINAPI GetCurrentProcess原创 2013-02-17 10:27:36 · 1237 阅读 · 0 评论 -
windows进程函数介绍【二】
CreatePipe FunctionSend FeedbackCreates an anonymous pipe, and returns handles to the read and write ends of the pipe.SyntaxC++View ColorizedCopy to ClipboardPrint原创 2013-02-17 11:16:44 · 1134 阅读 · 0 评论 -
InterlockedExchange
LONG InterlockedExchange( IN OUT PLONG Target, IN LONG Value ); InterlockedExchange(a,b)能以原子操作的方式交换俩个参数a, b,并返回a以前的值;因为InterlockedExchange 是原子函数,不会要求中止中断,所以交换指针的方式是安全的。假设有转载 2013-02-16 11:02:29 · 1210 阅读 · 0 评论 -
uml关系画法
在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association)。其中关联又分为一般关联关系和聚合关系(Aggregation),合成关系(Composition)。下面我们结合实例理解这些关系。基本概念类图(Class Diagram): 类图是面向对象系统建模中最转载 2013-02-16 11:19:43 · 1019 阅读 · 0 评论 -
C++的长api InitializeCriticalSectionAndSpinCount
msdn说明:InitializeCriticalSectionAndSpinCount FunctionSend FeedbackInitializes a critical section object and sets the spin count for the critical section. Spinning means原创 2013-02-16 12:39:52 · 1042 阅读 · 0 评论 -
c++关键字之volatile
1: volatile 直接存取原始内存地址volatile求助编辑百科名片 volatile就象大家更熟悉的const一样,volatile是一个类型修饰符(type specifier)。它是被设计用来修饰被不同线程访问和修改的变量。如果没有volatile,基本上会导致这样的结果:要么无法编写多线程程序,要么编译器失去大量优化的机会。原创 2013-02-16 10:37:56 · 967 阅读 · 0 评论 -
c++关键字之mutable
mutablemutable英音:'mju:təbl美音:'mjutəb!,形容词,意为易变的;反复无常的。在C++语言中,是命令语言——如果一个函数被const 修饰,那么它将无法修改其成员变量的,但是如果这个成员变量是被mutable修饰的话,则可以修改。mutable 可以用来指出,即使结构或者类变量为const,其某个成员也可以被修改。在c+原创 2013-02-16 10:39:01 · 656 阅读 · 0 评论 -
std::clog的存在
以前常看到cout cin cerr 没想到还有个clog__PURE_APPDOMAIN_GLOBAL extern istream cin, *_Ptr_cin;__PURE_APPDOMAIN_GLOBAL extern ostream cout, *_Ptr_cout;__PURE_APPDOMAIN_GLOBAL extern ostream cerr, *_Ptr原创 2013-02-16 11:56:02 · 1641 阅读 · 0 评论 -
时间格式
utc时间又称协调世界时 详情见百度百科http://baike.baidu.com/view/42936.htm在编程中用到的utc时间都是:在计算机中看到的utc时间都是从(1970年01月01日 0:00:00)开始计算秒数的。所看到的UTC时间那就是从1970年这个时间点起到具体时间共有多少秒。1970-01-01 00:00:00开始的http://blog.csdn.n原创 2013-02-16 15:38:14 · 536 阅读 · 0 评论 -
通过FILETIME得到时间
FILETIME结构:#ifndef _FILETIME_#define _FILETIME_typedef struct _FILETIME { DWORD dwLowDateTime; DWORD dwHighDateTime;} FILETIME, *PFILETIME, *LPFILETIME;#endifULARGE_INTEGER结构原创 2013-02-16 14:47:18 · 1946 阅读 · 0 评论 -
内存思考
http://blog.chinaunix.net/uid-20788517-id-34685.html前段时间很多公司来学校搞招聘会,我浑水摸鱼进去了趟,还真摸了一把浑水。发现很多基本的东西还是很模糊。趁着记忆犹新先记下来吧。想必你也见过这些笔试题吧:void GetMemory(char *p){p = (char *)malloc(10转载 2013-08-14 03:22:19 · 779 阅读 · 0 评论 -
tr1.regex 了解
// 2014.1.21我的理解regex有3点: 写regex表达式 匹配 查找替换如果不需要太复杂的功能 一般下面的文章就可以搞定:tr1.regex通配符1:. 单个任意字符除了\n 要匹配\n用 [.\n]2:^ 匹配行开头3:$ 匹配行结尾4:() 定义个一个表达式5:* 表示前面的元素可以重复任意次6:+ 表示前面的元素可以重复任意原创 2014-01-21 16:14:24 · 957 阅读 · 0 评论 -
指针 数组 引用
基础知识罗列 char v[6]; char* p; [] 表示 array of *表示pointer to 数组的大小应该是一个constant表达式一元* 表示 contents of 一元&表示 address of除了以前学过的for循环 新标准增加了一种可以range-for语句:int v[] = {1, 2, 3};for (auto x : v){ std原创 2016-10-13 14:56:49 · 476 阅读 · 0 评论 -
templates
啥是模版? 把类型或是值当成参数的类或是函数。template<typename T>class A{public: explicit A(int s); ~A(){ delete [] e; } T& operator[](int i); const T& operator[](int i) const; int size() const { retu原创 2016-10-24 16:50:08 · 395 阅读 · 0 评论 -
自定义类型
c++语言分两部分,语言核心和标准库 c++已经为我们提供了一些基本类型,我们可以通过这些基本类型构建复杂的类型 c++提供的内置类型和操作非常丰富,也很low-level(基本:直接、高效,这些操作反应了计算机常规能力) 利用这些内置类型和操作 + 抽象机制 = everything抽象机制是为了让程序员设计和实现自定义的类型(有合适的表示和操作),并且可以非常简单非常优雅地使用这个类型。除原创 2016-10-14 13:35:51 · 536 阅读 · 0 评论 -
输入输出流
ostream将类型对象转换成字节/字符流 istream将字节/字符流转换成类型对象<< put to>> get fromiostream提供了大量的操作来处理输入输出格式,这些格式控制被称为操作符(manipulators),eg:一个int以整形、二进制、十六进制输出文件的fstream 字符串的stringstream都是比较常用的原创 2016-10-25 13:41:55 · 449 阅读 · 0 评论 -
something new
新的写法说明:以下都是记录日常中遇到的一些很少见到过的写法,时代在进步,c++在发展,下面有些可能是新写法,也有可能是老写法。new(space){t};说明: 在a tour of c++中有这么一个写法template<typename T>void Vector<T>::push_back(const T& t){ if (capacity()<size()+1)原创 2016-10-25 17:44:07 · 483 阅读 · 0 评论 -
c++模块化的简要说明
c++包含了很多单独的开发部分:函数、自定义类型、类继承、模版 c++中有一个概念:单独编译(将声明和定义分别放在.h和.cpp文件中),严格的将,单独编译不是c++语言的讨论问题,而是“为了更好的使用c++”的讨论 为了更大的模块化,在逻辑上通过c++语言特征来实现;在物理上通过更有效的独立编译方式来实现。命名空间可以有效地防止命名冲突 在大型的程序组件编程时(eg:库),namespace原创 2016-10-17 14:12:08 · 5644 阅读 · 0 评论 -
A a; A a(); A a(""); 没有严谨的态度,就做不好C++
现在时间是2016-11-8 17:31:24今天为了取质数的性能分析而写了一个用来计量代码块执行时间的类:#pragma once#include <chrono>#include <string>class CostTime{public: CostTime(const std::string& msg = ""); ~CostTime();private: std::chro原创 2016-11-08 17:48:18 · 482 阅读 · 0 评论 -
c++的overload override overwrite 你真的懂了吗
以下是对C++中overload,override,overwrite的区别进行了详细的分析介绍,需要的朋友可以过来参考下Overload(重载):在C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,但参数或返回值不同(包括类型、顺序不同),即函数重载。 (1)相同的范围(在同一个类中); (2)函数名字相同; (3)参数不同; (4)virtual 关键字可有可无。Overri原创 2016-10-19 11:37:13 · 834 阅读 · 0 评论 -
c++的const和constexpr
c++有两种常量: 一种是const:“i promise not to change this value” 一种是constexpr:”to be evaluated at compile time”const 这种值可以在编译时或是运行时赋值,但constexpr的值只能在编译器确定他们两的侧重点不同,就如上面英文写的那样 const侧重于值不变;constexpr侧重于编译期就确定值还原创 2016-10-13 14:13:46 · 4275 阅读 · 0 评论 -
c++教程课后练习题
1:在一个循环中读入两个int并打印出来,如果遇到’|’就退出程序。 分析: 从键盘输入中读取两个数,有可能读的是非数值类型,所以第一点,非数值类型需要考虑到; 两个int + 一个字符是题目中需要体现的。那么读取出来后的存储类型就需要提前设计好。因为从键盘输入读出来的数据不能确定是不是数值类型,所以不能放在int 或是char上,正好string倒是可以存放,存放之后可以转成int; 一次原创 2016-11-03 14:59:55 · 972 阅读 · 0 评论 -
类的简述
c++的语言特性支持oop和gp编程。 oop是指面向对象编程。gp是指泛型编程。c++的核心特征就是class 一个好的class应满足以下条件:正确、 易维护、高效、优雅、易使用、易读、易理解实体类、抽象类、类继承是class的三大基础模块实体类 如果她的行为看起来像一个内置类型,就可以称为实体类 eg:vector string 看起来像一个内置类型,除此之外她的行为更丰富容器:一个对原创 2016-10-21 14:17:48 · 419 阅读 · 0 评论 -
亮一下我的配置
//-// $end$ [$MONTH$/$DAY$/$YEAR$ %USERNAME%]//////////////////////////////////////////////////////////////////////////////// $end$//in/////////////////////////////////原创 2014-01-21 16:40:00 · 797 阅读 · 0 评论 -
解决 warning C4127: 条件表达式是常量
/W4 开启之后 在如下情况下都会遇到C4127:if (1)while (true)等等 为了解决while(true) 翻了好多网页都没找到 最后使用无奈的手法达到了目的:bool get_true() { return true; }while (get_true()){}这样写会消耗一些性能 不过为了/w4 还原创 2014-01-16 17:14:24 · 4285 阅读 · 0 评论 -
wmi问题
转至 http://yuanlijia1.iteye.com/blog/1170836一. 常见问题及解决方法 1. 当通过WMI添加服务器、Microsoft .NET、Exchange服务器时,提示“验证失败。请确认用户名和密码”。 解决方法: 请以\格式输入用户名 注意: OpManger中对于本地WMI验证,不需要输入用户名和密码。 2. 当以WMI模式转载 2014-02-10 09:23:25 · 1813 阅读 · 0 评论 -
字符串笔记
最近遇到字符串导致的乱码问题 特此记录一下:strcpy_s:#define _ _STDC_WANT_LIB_EXT1_ _1#include errno_t strcpy_s(char * restrict s1, rsize_t s1max, const char * restrict s2);Neithers1nors2shall be a null p原创 2014-02-11 15:31:03 · 1134 阅读 · 0 评论 -
vs2008调试程序无法进入main函数
http://bbs.csdn.net/topics/320149374导读上面的程序一直好好的 突然原创 2014-10-09 17:59:06 · 4230 阅读 · 0 评论 -
opencv protection error
记录下查这个问题的追查路线查看错误表达的意思: 错误意思知道是这么一回事 但是还不知道是具体哪个东东引起的 百度 对了 对于技术较强的 百度就是坑了 这几天得翻墙google好多网站都提到了一个刻录工具nero 全盘搜索 发现没有这玩意 继续google 发现了一个xvid 百度 属于开源的 好东西 暂时没时间了她 继续google (http://www.gfsoso.co原创 2015-02-13 16:53:27 · 659 阅读 · 0 评论 -
vs2008 sp1 + mfc + "error C2628: “std::string”后面接“char”是非法的(是否忘记了“;”?)"
error C2628: “std::string”后面接“char”是非法的(是否忘记了“;”?) error C2628: “std::string”后面接“char”是非法的(是否忘记了“;”?) error C2628: “std::string”后面接“char”是非法的(是否忘记了“;”?) t.cpp(922) : error C2628: “std::string”后面接“ch原创 2015-03-11 11:45:53 · 3511 阅读 · 1 评论