左雪菲的专栏

欢迎访问我的个人网站:http://www.hootina.org

排序:
默认
按更新时间
按访问量

将NULL指针赋值给std::string变量导致程序崩溃

如题:如上图,但是我们还会经常写这样的代码,例如我的flamingo中有代码如下(已经修正):位于queryresult.cpp中如果fields[i].name为NULL的话,程序将崩溃。备忘一下,以后将char*类型赋值给std::string类型一定记得检测一下是否为空指针。...

2018-04-26 14:44:35

阅读数:106

评论数:0

将char* 赋值给std::string的一些陷阱

这段时间,总是要使用char或者char* 赋值给std::string,踩了不少坑。于是写了个测试代码: #include #include using namespace std; int main(int argc, char* argv[]) { string str1;...

2017-05-12 16:30:56

阅读数:4517

评论数:0

关于scanf与printf里的%*d

看如下程序:include123初学者会问:%*d的作用不是跳过对应的输入数据吗? 是的,在scanf函数里的确是这样的,比如:include

2016-08-24 14:09:21

阅读数:271

评论数:0

64位无符号整形格式化符号

%llu   是64位无符号(在VS2008中测试通过) 说明:%lu不对

2015-10-13 16:22:14

阅读数:635

评论数:0

C++中的单例模式

单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出,GUI应用必须是单鼠标,MODEM的联接需要一条且只需要一条电话线,操作系统只能有一个窗口管理器,一...

2015-06-19 12:33:46

阅读数:435

评论数:0

vector.resize 与 vector.reserve的区别

std::vector的reserve和resize的区别 1. reserve: 分配空间,更改capacity但不改变size 2. resize: 分配空间,更改capacity也改变size如果知道vector的大小,resize一下可以当数组来用,不会分配多余的内存。reserve是...

2015-06-15 16:58:54

阅读数:429

评论数:0

不要在公共接口中传递STL容器

最近的一个项目,是开发一个framework,提供给公司内部不同的产品线使用。 之间遇到的一个问题,就是STL容器的使用, 而结论是不要在公共接口中传递STL容器:这里说的STL容器,但主要则是指容器,字符串类,但其实可以推广到在STL中提供的任何类型, 这里说的公共接口,是指需要暴露给客户的s...

2015-06-15 16:57:25

阅读数:492

评论数:0

C++ new失败的处理

C++ new调用失败,不应该判断返回值是否为NULL,这样做在较新的编译器中没有意义。

2015-06-04 17:50:29

阅读数:742

评论数:0

ARRAYSIZE宏与RtlpNumberOf的区别

// test_RtlpNumberOf.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include template long f1(T (&...

2015-01-29 14:40:36

阅读数:944

评论数:0

stl std::map容器排序及使用注意事项

#include "stdafx.h" #include #include int _tmain(int argc, _TCHAR* argv[]) { /** * map中的每个元素都是一个pair类型 * 对于插入其中的元素都会默认按键值升序排列好 */...

2014-11-05 12:44:12

阅读数:4514

评论数:0

底层的MDI程序是如何建立的

代码示例: // MDIAppDemo.cpp : Defines the entry point for the application.//#include "stdafx.h"#include "MDIAppDemo.h"#define ID_FIR...

2014-10-04 10:39:45

阅读数:583

评论数:0

C语言的井号(#)特殊用法(#define)

一:特殊的字符串宏 [cpp] #define A(x) T_##x  #define B(x) #@x  #define C(x) #x  我们假设x=1, 则上面的宏定义会被解释成以下的样子 A(1)------>T_1 B(1)------>'1' C(1...

2014-03-30 10:45:42

阅读数:1127

评论数:0

解决error LNK2005

文章参见: http://blog.sina.com.cn/s/blog_5db7b05a0100bek3.html

2014-02-28 23:53:03

阅读数:704

评论数:0

一个GUI程序如何创建一个控制台程序(CUI)

参考资料:http://www.cnblogs.com/linucos/archive/2012/09/10/2678972.html  下面这段代码演示GUI程序如何与它的控制台进行交互,包括向控制台输出字符和从控制台获取输入的字符。   void CreateConsole() { ...

2013-11-01 11:09:57

阅读数:945

评论数:0

关于WM_COMMAND与WM_NOTIFY

声明:原文来自MSDN 2001 Oct版,原文内涉及的连接由于是脱机连接,所以译文内的连接是本人尽量找自MSDN online) TN061: ON_NOTIFY and WM_NOTIFY Messages 这个技术文章介绍了关于新WM_NOTIFY消息,还描述了建议使用的一种在你的MFC...

2013-07-12 12:04:34

阅读数:917

评论数:0

InitCommonControlsEx调用失败,manifest作怪

最近在VC编程时,调用 InitCommonControlsEx失败 。究其原因,是 manifest作怪。   解决方案有三: 1) Create manifest, call it YourApplicationName.manifest and add it to your appl...

2013-07-12 10:35:45

阅读数:845

评论数:0

汇编练习

我常常在想一些莫名其妙的问题,走路也想,吃饭也想,睡觉也想,先看段代码: 00BE1380  push        ebp  00BE1381  mov         ebp,esp  00BE1383  sub         esp,0D8h         00BE1389 ...

2013-06-16 11:10:06

阅读数:791

评论数:0

fpu,mmx以及sse寄存器的少量简介

FPU: 8个80位浮点寄存器(数据),16位状态寄存器,16位控制寄存器,16为标识寄存器。      使用FPU指令对这些寄存器进行操作,这些寄存器构成一个循环栈,st7栈底,st0栈顶,      当一个值被压入时,被存入st0,原来st0中的值被存入st7 MMX: 将8个FPU寄存...

2013-06-15 23:31:24

阅读数:1828

评论数:0

关于security cookie

这里主要讨论栈,不是堆。   首先,security cookie并不是windows系统自带的保护机制,并不是说一个确实存在溢出漏洞的程序,放到带security cookie保护的环境中,就不能正常溢出了。   那么,到底是什么是security cookie呢?   我觉得从广义上...

2013-06-15 15:21:37

阅读数:941

评论数:0

如何检测C/C++程序内存泄露

参考1:       http://blog.csdn.net/susubuhui/article/details/7640865   参考2:     http://www.codeproject.com/Articles/108529/LeakDiag-An-Effective-M...

2013-02-25 23:24:39

阅读数:1105

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭