
C/C++基础
文章平均质量分 67
lijun5635
这个作者很懒,什么都没留下…
展开
-
VC++引用MFC DLL出现的问题
VC++开发GIS系统(1)使用DLL导出类编程示例 | 麻辣GIS http://malagis.com/example-program-using-dll-exports-class-before-vc-gis-system-1.html 在照着上面的文章写,死活调用不了。最后通过"属性"->"链接器"->"常规"->"附加库目录"写入.lib所在的目录就可以了。使用的是VS201原创 2016-06-22 08:50:30 · 918 阅读 · 0 评论 -
operator new和operator delete学习
原文链接:http://www.wuzesheng.com/?p=840转载 2014-04-06 12:18:45 · 610 阅读 · 0 评论 -
memcpy memmove区别和实现
memcpy与memmove的目的都是将N个字节的源内存地址的内容拷贝到目标内存地址中。但当源内存和目标内存存在重叠时,memcpy会出现错误,而memmove能正确地实施拷贝,但这也增加了一点点开销。memmove的处理措施:(1)当源内存的首地址等于目标内存的首地址时,不进行任何拷贝(2)当源内存的首地址大于目标内存的首地址时,实行正向拷贝(3)当源内存转载 2014-04-06 17:35:46 · 570 阅读 · 0 评论 -
malloc函数
http://baike.baidu.com/link?url=b4klqBYnMFJkGFO6GomWPc6gUdH0ibF-ezNsOKHVNT8EkgTTNcneozmuQQeLsODTsHqtNQY8Rus03N2yefpfBq Malloc 向系统申请分配指定size个字节的内存空间。返回类型是 void* 类型。void* 表示未确定类型的指针。C,C++规定,void转载 2013-10-26 10:35:21 · 1000 阅读 · 0 评论 -
char *a 和char a[] 的区别(指针和数组的区别)
在C/C++中,指针和数组在很多地方可以互换使用,这使得我们产生一种错觉,感觉数组和指针两者是完全等价的,事实上数组和指针是有很大的区别的。1.两者在含义上的区别。 数组对应着一块内存区域,而指针是指向一块内存区域。其地址和容量在生命期里不会改变,只有数组的内容可以改变;而指针却不同,它指向的内存区域的大小可以随时改变,而且当指针指向常量字符串时,它的内容是不可以被修改的,否则在运行时转载 2013-11-03 19:47:40 · 863 阅读 · 0 评论 -
类的operator new与operator delete的重载
原文链接:http://www.cnblogs.com/luxiaoxun/archive/2012/08/11/2633423.html转载 2014-04-06 11:29:36 · 655 阅读 · 0 评论 -
c++中的set_new_handler和new_handler
原文链接:http://blog.youkuaiyun.com/liuxialong/article/details/6540605转载 2014-04-06 12:33:26 · 839 阅读 · 0 评论 -
深入C++的new
原文链接:http://blog.youkuaiyun.com/songthin/article/details/1703966转载 2014-04-10 20:29:09 · 622 阅读 · 0 评论 -
restrict
链接地址:http://baike.baidu.com/link?url=dEceSeMonXE-egSQOYD6tr4MZZMZOzP9UVJShpmoXOPS87RPP1aCBOzxRAT2HCmkyHTYhMcNPBEQBtrKAmiT7a转载 2014-04-27 16:34:41 · 737 阅读 · 0 评论 -
pair,make_pair学习
转载地址:http://www.cnblogs.com/marrywindy/archive/2011/01/25/1944401.htmlpair vs make_pairmake_pair constructs a pair object.templateclass T1,class T2>pair<T1, T2> make_pair(T转载 2014-04-27 17:16:44 · 627 阅读 · 0 评论 -
strcpy,strncpy和strncpy_s的区别 strncpy函数与memcpy函数
首先说下strcpystrcpy()是依据源串的\0作为结束判断的,不检查copy先的Buffer的Size,如果目标空间不够,就有BufferOverflow问题。strncpy的原型为:char * strncpy(char *dest, char *src, size_t n);其将字符串src中最多n个字符复制到字符数组dest中(它并不像strcpy一样遇到N转载 2013-11-03 21:32:40 · 11692 阅读 · 0 评论 -
C++中const用法总结
1. const修饰普通变量和指针const修饰变量,一般有两种写法:const TYPE value;TYPE const value;这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。对于一个非指针的类型TYPE,无论怎么写,都是一个含义,即value只不可变。例如:转载 2014-07-04 17:03:04 · 571 阅读 · 0 评论 -
内联成员函数
转载地址:http://blog.youkuaiyun.com/zhongzi716/article/details/1768412转载 2014-07-04 17:06:43 · 1269 阅读 · 0 评论 -
atexit()函数
转载地址:http://www.cnblogs.com/wanghetao/archive/2012/04/03/2431256.htmlatexit 函数名: atexit 头文件:#include 功 能: 注册终止函数(即main执行结束后调用的函数) 用 法: int atexit(void (*func)(voi转载 2015-05-06 08:36:57 · 552 阅读 · 0 评论 -
秒杀多线程第二篇 多线程第一次亲密接触 CreateThread与_beginthreadex本质区别
转载地址:http://blog.youkuaiyun.com/morewindows/article/details/7421759 本文将带领你与多线程作第一次亲密接触,并深入分析CreateThread与_beginthreadex的本质区别,相信阅读本文后你能轻松的使用多线程并能流畅准确的回答CreateThread与_beginthreadex到底有什么区别,在实际的编程中到底转载 2015-05-09 18:04:38 · 891 阅读 · 0 评论 -
#pragma once 与 #ifndef 解析
转载地址:http://www.cnblogs.com/hokyhu/archive/2009/03/30/1425604.html 为了避免同一个文件被include多次,C/C++中有两种方式,一种是#ifndef方式,一种是#pragma once方式。在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。 方式一:转载 2015-04-24 08:31:03 · 530 阅读 · 0 评论 -
C/C++——strcpy函数的 几种 实现 和 详细 解析
转载地址:http://blog.youkuaiyun.com/wconvey/article/details/21150103C/C++——strcpy函数的实现 和解析题目: 已知strcpy函数的原型是: char * strcpy(char * strDest,const char * strSrc); 1.不调用库函数,实现st转载 2015-03-28 08:19:18 · 1744 阅读 · 0 评论 -
头文件和源文件的区别
一、源文件如何根据#include来关联头文件1,系统自带的头文件用尖括号括起来,这样编译器会在系统文件目录下查找。#include 2,用户自定义的文件用双引号括起来,编译器首先会在用户目录下查找,然后在到C++安装目录(比如VC中可以指定和修改库文件查找路径,Unix和Linux中可以通过环境变量来设定)中查找,最后在系统文件中查找。#include “xxx.h”二、头文转载 2014-08-26 16:14:04 · 3659 阅读 · 0 评论 -
Effective C++笔记(5)
六、继承与面向对象程序设计原创 2014-07-12 10:06:26 · 644 阅读 · 0 评论 -
C++输入/输出流类库
转载地址:http://www.weixueyuan.net/cpp/rumen_9/在C++中,数据从一个对象到另一个对象的传送被抽象为“流”,由它负责在数据的产生者和使用者之间建立联系,并管理数据的流动。在现代操作系统中,一切输入/输出设备,包括键盘、显示器、打印机、网卡、磁盘、声卡等,都被视为广义的文件。在C++中,与这些文件的交互,即数据的输入/输出,是通过包含在C++转载 2014-08-02 16:04:47 · 6757 阅读 · 0 评论 -
Effective C++笔记(3)
四、设计与声明 (18):原创 2014-07-10 00:32:53 · 724 阅读 · 0 评论 -
内置类型和类类类型的初始化
C++基础 - 内置类型和类类类型的初始化 - blackboy的技术博客 - 博客频道 - youkuaiyun.com http://blog.youkuaiyun.com/blackboyofsnp/article/details/4981275转载 2014-07-06 13:56:45 · 1081 阅读 · 0 评论 -
解析SGI STL 函数static void (* __set_malloc_handler(void (*__f)()))() 和其它
static void (* __set_malloc_handler(void (*__f)()))() { void (* __old)() = __malloc_alloc_oom_handler; __malloc_alloc_oom_handler = __f; return(__old); }首先必须知道作为参数的函数指针和返回函数指针的函转载 2014-04-06 19:13:41 · 1857 阅读 · 1 评论 -
ptrdiff_t
简介▪ ptrdiff_t▪ size_t2程序示例▪ #include▪ int main1简介编辑ptrdiff_t是C/C++标准库中定义的一个与机器相关的数据类型。ptrdiff_t类型变量通常用来保存两个指针减法操作的结果。ptrdiff_t定义在stddef.h(cstddef)这个文件内。ptrdiff_t通转载 2014-04-06 11:18:17 · 2835 阅读 · 0 评论 -
__STL_TRY和__STL_UNWIND这两个宏的意思
转载地址:http://bbs.youkuaiyun.com/topics/350153434转载 2014-04-18 23:09:37 · 1780 阅读 · 0 评论 -
C/C++<string.h>字符串函数
http://www.kuqin.com/clib/string/bcmp.html连接地址,不懂可以查查看。转载 2013-11-03 21:41:34 · 819 阅读 · 0 评论 -
CString及Char指针和数组的问题
太长了,留着有空仔细看。2009-03-04 11:18CString 是一种很有用的数据类型。它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多。不管怎样,使用CString有很多特殊的技巧,特别是对于纯C背景下走出来的程序员来说有点难以学习。这篇文章就来讨论这些技巧。 使用CString可以让你对字符串的操作更加直截了当。这篇文章不是CStr转载 2013-11-03 21:49:48 · 1540 阅读 · 0 评论 -
char指针与char数组的区别(非常详细!)
http://blog.youkuaiyun.com/johnny710vip/article/details/6725637首先看指针:char *p = “helloworld”; 在这里p是一个变量,其类型为指针类型,并且指向一个字符串,字符串内容为”helloworld”,如果要访问p[2]的话,就需要先从p中取出地址,该地址为”helloworld”的首地址,然后再加上转载 2013-11-03 21:21:23 · 2442 阅读 · 0 评论 -
C语言getchar函数和memset
http://blog.youkuaiyun.com/aerkate/article/details/7595592 http://baike.baidu.com/link?url=zzyhvHloTgP6K8_SiUilWIR4GvY6_evP8PhEs0F3DfpufuOyq3_9lfsuX31s3LE3原创 2013-10-27 20:17:11 · 612 阅读 · 0 评论 -
指向结构体数组的指针
#include struct student{ int num; char name[20]; char sex; int age;};/*指向结构体类型的数组的初始化*/ struct student stu[3]={{10101,"Li Lin",'M',18},{10102,"Zhang Fun",'M',19},转载 2013-10-26 12:27:26 · 1822 阅读 · 0 评论 -
typedef与define
typedef int * pint ; #define PINT int * 那么: const pint p ;//p不可更改,但p指向的内容可更改 const PINT p ;//p可更改,但是p指向的内容不可更改。 为什么呢。不明白谢谢二楼的帮我又COPY了一遍 #define 是宏命令,在编译前,由预处理器做替代,如同文本编辑的替代命令,把程序中的转载 2013-10-26 09:06:22 · 834 阅读 · 0 评论 -
请问c++中的#include "stdafx.h"是什么意思?
为什么有时候去掉就不能运行,有时候却掉才能运行呢?请详细说明一下,非常感谢! #include "stdafx.h"是预编译处理器把stdafx.h文件中的内容加载到程序中来。stdafx.h1名称的英文全称为:Standard Application Fram Extend所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windo转载 2013-10-26 08:41:11 · 20814 阅读 · 0 评论 -
深入理解typedef和深入理解函数指针
http://blog.sina.com.cn/s/blog_5e8facd20100qn20.html typedef作为类型定义关键字,用于在原有数据类型(包括基本类型、构造类型和指针等)的基础上,由用户自定义新的类型名称。 在编程中使用typedef的好处,除了为变量取一个简单易记且意义明确的新名称之外,还可以简化一些比较复杂的类型声明。比如: type转载 2013-10-26 09:18:33 · 812 阅读 · 0 评论 -
Exit()
目 录1函数: exit()2程序例1函数: exit()函数名: exit()所在头文件:stdlib.h功 能: 关闭所有文件,终止正在执行的程序。exit(1)表示异常退出.这个1是返回给操作系统的不过在DOS好像不需要这个返回值exit(x)(x不为0)都表示异常退出ex转载 2013-10-26 10:50:43 · 733 阅读 · 0 评论 -
strstr函数
从字符串str1中查找是否有字符串str2,如果有,从str1中的str2位置起,返回str1中str2起始位置的指针,如果没有,返回null。目 录1函数概述2函数实现3应用举例1函数概述包含文件:string.h函数名: strstr函数原型:extern char *strst转载 2013-11-03 19:54:32 · 1135 阅读 · 0 评论 -
结构体字符数据初始化
结构体里面的 字符数组 怎么不能初始化?我定义了一个结构体:struct Database{ char Name[];}Skk;Skk.Name[] = "abcde";这个怎么不能给Name 赋值?struct Database { char Name[]; };转载 2013-11-03 22:16:19 · 5123 阅读 · 0 评论 -
fread & fwrite
转自:http://www.cnblogs.com/lvpengms/archive/2011/05/01/2033779.htmlThis artical extracted from www.cplusplus.com.fread size_t fread ( void * ptr, size_t size, size_t count, FILE * strea转载 2013-11-04 22:37:48 · 880 阅读 · 0 评论 -
STL List::sort() 解析
看侯捷翻译那本《STL源码剖析》中list内置sort的算法,书中注释说是quick sort,看了半天没看明白,然后就把代码敲出来运行看看,上面的源码如下:template template void list::sort(){if (node->next == node || link_type(node->next)->next == node转载 2014-04-17 22:10:17 · 10849 阅读 · 8 评论 -
C++模板学习
1. 模板的概念。我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用重载函数。例如,为求两个数的最大值,我们定义MAX()函数需要对不同的数据类型分别定义不同重载(Overload)版本。//函数1.int max(int x,int y);{return(x>y)?x:y ;}//函数2.转载 2013-12-16 22:28:34 · 1155 阅读 · 0 评论 -
提示"cannot instantiate abstract class due to following members"? .
提示"cannot instantiate abstract class due to following members"? 解决方法:从基类派生来的类,其中有需要子类实现的纯虚函数必须实现,如果用不着就在实现的时候写为空的如 TaskBase.h中的类为基类[cpp] view plaincopyprint?class CTaskBase {转载 2013-12-11 23:30:21 · 3635 阅读 · 0 评论