C++学习
xinpo66
it职业发展顾问5年
展开
-
C++命名空间的使用
对using namespace std;的解释: 所谓namespace,是指标识符的各种可见范围。C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。 由于namespace的概念,使用C++标准程序库的任何标识符时,可以有三种选择: 1、直接指定标识符。例如std::ostream而不是ostream。完整语句如下: std::cout 2、使用using关键字。 using std::co转载 2011-03-08 13:35:00 · 6127 阅读 · 0 评论 -
c++返回引用
舉一個簡單的例子int & B(int &n){n++;return n;}int main(){int a = 10;int & b = B(a); // 調用 B, 傳遞的是 a 的引用// 到了 B 裏, n 就是指 a,// r转载 2011-10-12 19:48:52 · 918 阅读 · 0 评论 -
整数溢出与程序安全
Volume 0x0b, Issue 0x3c, Phile #0x0a of 0x10 |=--------------------=[ Basic Integer Overflows ]=----------------------=| |=---------------------------------------------------------------------转载 2012-02-10 16:27:16 · 1257 阅读 · 0 评论 -
转] c++代码网
C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码。这份清单提供了源代码的链接以及它们的小说明。我已尽力包括最佳的C/C++源代码的网站。这不是一个完整的清单,您有建议可以联系我,我将欢迎您的建议,以进一步加强这方面的清单。1、http://snippets.dzone.com/tag/c/ --数以千计的有用的C语言源代码片段2、htt转载 2012-02-18 20:36:17 · 605 阅读 · 0 评论 -
C++文件读写总结
转:C++文件读写总结技术 2009-10-23 15:10:40 阅读710 评论1 字号:大中小 订阅一、ASCII 输出为了使用下面的方法, 你必须包含头文件(译者注:在标准C++中,已经使用取代,所有的C++标准头文件都是无后缀的。)。这是 的一个扩展集, 提供有缓冲的文件输入输出操作. 事实上, 已经被包含了, 所以你不必包含所有这两个文件, 如果你想显式包含他们,那随转载 2012-11-26 16:25:37 · 450 阅读 · 0 评论 -
c++回调函数(上)
一,回调函数 我们经常在C++设计时通过使用回调函数可以使有些应用(如定时器事件回调处理、用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制如何呢,怎么定义呢?它和其它函数(比如钩子函数)有何不同呢? 使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个函数。 而那个函数在需要的时候,利原创 2012-11-01 14:27:39 · 605 阅读 · 0 评论 -
c++回调函数(下)
四无题 软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用;回调是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口;异步调用是一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户方的原创 2012-11-13 19:09:51 · 2428 阅读 · 0 评论 -
c/c++资源(源码,开发工具)
http://blog.csdn.net/cnsword/article/details/4176636开发工具: 1、VIM 骨灰级玩家专属2、emacs 骨灰级玩家专属3、code::blocks 入门级推荐4、codelite 入门级首选5、eclipse+CDT 如果你经常用eclipse就直接装个cdt的插件吧6、netbeans转载 2011-11-25 23:10:37 · 678 阅读 · 0 评论 -
error C3859: 超过了 PCH 的虚拟内存范围;请使用“-Zm110”或更大的命令行选项重新编译
http://blog.csdn.net/huang_xw/article/details/7898098产生的原因:为了加快boost的编译,使用的预编译头。而且加的boost的头文件比较多,导致pch文件超过了默认值。解决的办法:1. 找到 工程->属性->c/c++->命令行->其他选项2. 输入/Zm100,其中后面的数字可以更大定义:/Zm(指定预编译头的内存原创 2012-11-20 09:56:06 · 5048 阅读 · 0 评论 -
memcpy,strcpy
函数原型void *memcpy(void *dest, const void *src, size_t n);功能从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中所需头文件#include 返回值函数返回dest的值。说明1.source和destin所指内存区域不能重叠,函数返回指向destin的指针。2.str原创 2013-01-29 11:15:18 · 1297 阅读 · 0 评论 -
卓越的教练是如何训练高手的
http://blog.csdn.net/fyyy4030/article/details/8467043卓越的教练是如何训练高手的? 编者按:我们知道,优秀的运动员除了自身的天赋和努力之外,出色的教练必不可少。一个成功的企业除了拥有出类拔萃的员工之外,同样需要一位出色的教练,那就是企业的CEO。由此可见,如果我们要想成为一位优秀的程序员,毫无疑问卓越的教练是致关重要的。无数事原创 2013-01-29 11:16:57 · 2379 阅读 · 0 评论 -
WideCharToMultiByte与MultiByteToWideChar 介绍 .
感谢博主:http://blog.csdn.net/open520yin/article/details/8246654 把宽字符串转换成指定的新的字符串 [cpp] view plaincopyprint?int WideCharToMultiByte( UINT CodePage, //指定要转换成的字符集代码页 DWORD dwFlags, /原创 2013-01-17 16:19:49 · 632 阅读 · 0 评论 -
获得网卡MAC地址 .
#include "nb30.h" #pragma comment(lib,"netapi32.lib") void GetNetcarMAC(void) { typedef struct _ASTAT_ { ADAPTER_STATUS adapt; NAME_BUFF原创 2013-02-22 13:49:59 · 474 阅读 · 0 评论 -
浅拷贝与深拷贝的区别
摘自百度知道 http://zhidao.baidu.com/question/357230142.html简单的来说就是,在有指针的情况下,浅拷贝只是增加了一个指针指向已经存在的内存,而深拷贝就是增加一个指针并且申请一个新的内存,使这个增加的指针指向这个新的内存,采用深拷贝的情况下,释放内存的时候就不会出现在浅拷贝时重复释放同一内存的错误!我列举一个例子来说吧:你正在编写C++程序中原创 2013-02-22 10:37:25 · 790 阅读 · 0 评论 -
%d 跟%i 的区别以及scanf和sscanf的用法
scanf 用%i能够获得8/16进制的值,比如0011就是9,0x11就是17,当然如果读取到08或者09就会出错了。scanf简介scanf函数,与printf函数一样,都被定义在stdio.h里,因此在使用scanf函数时要加上#include。它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中,其关键字最末一个字母f即为“格式”(format)之意sca原创 2013-02-22 11:55:42 · 17016 阅读 · 0 评论 -
C++ 虚函数表解析 .
感谢博主http://blog.csdn.net/haoel/article/details/1948051C++ 虚函数表解析 陈皓http://blog.csdn.net/haoel 前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父原创 2013-03-08 15:38:47 · 521 阅读 · 0 评论 -
从汇编层面深度剖析C++基本对象布局 .
摘自 http://blog.csdn.net/linyt/article/details/6385176写在前面的话 自从拙文《从汇编层面深度剖析C++虚函数》 见于csdn首页后,受到很多读者的好评。本人甚是高兴,并且打算从汇编的角度来分析C++中的语言构造,比如对象的布局,多继承下的对象布局以及它们的虚函数表的结构,我想这些都是C++开发者所感兴趣的。此外,本人目前原创 2013-03-08 16:53:25 · 1634 阅读 · 0 评论 -
从汇编层面深度剖析C++虚函数 .
摘自 http://blog.csdn.net/linyt/article/details/6336762虚函数是C++语言实现运行时多态的唯一手段,因此掌握C++虚函数也成为C++程序员是否合格的试金石。csdn网友所发的一篇博文《VC虚函数布局引发的问题》 从汇编角度分析了对象虚函数表的构,以及C++指针或者引用是如何利用这个表来实现运行时多态。诚然,C++虚函数的结构会因编译原创 2013-03-08 16:52:22 · 618 阅读 · 0 评论 -
程序员技术练级攻略
http://www.csdn.net/article/2011-07-20/301922程序员技术练级攻略发表于2011-07-20 09:47| 20750次阅读| 来源酷壳网| 179 条评论| 作者陈皓web开发正则表达式http服务器nosql数据库程序员摘要:程序员分十层,你现在在哪一级?每个程序员都希望自己能顺利的升级到高的层次,你其实应该按照下面原创 2013-03-08 15:36:01 · 712 阅读 · 0 评论 -
位操作基础篇之位操作全面总结
感谢博主 http://blog.csdn.net/morewindows/article/details/7354571Title: 位操作基础篇之位操作全面总结Author: MoreWindowsE-mail: morewindows@126.comKeyWord: C/C++ 位操作 位操作技巧 判断奇偶 交换两数 变换符号 求绝对值 位操原创 2013-03-11 22:26:40 · 712 阅读 · 0 评论 -
VC大讲堂_体会
最近学习STL。阙海忠的讲义看了前言,还是有些感悟。记录自己认为重要的,以便转化成自己的知识。STL实用入门教程第一讲。两个问题。一、什么是STL,使用STL的好处;二、STL的string类型的使用方法。STL(Standard Template Library,标准模板库),它是由惠普实验室开发的一系列标准化的组件,目前是C++的一部分。STL的代码从广义上讲分为三类:原创 2012-12-19 19:51:38 · 1068 阅读 · 0 评论 -
VS2008下直接安装使用Boost库1.46.1版本
感谢博主 http://blog.csdn.net/akof1314/article/details/6292980Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,是不折不扣的“准”标准库。 Boost由于其对跨平台的强调,对标原创 2013-04-02 00:22:15 · 801 阅读 · 0 评论 -
Windows Socket五种I/O模型——代码全攻略
http://blog.csdn.net/weiqubo/article/details/6841614如果你想在Windows平台上构建服务器应用,那么I/O模型是你必须考虑的。Windows操作系统提供了选择(Select)、异步选择(WSAAsyncSelect)、事件选择(WSAEventSelect)、重叠I/O(Overlapped I/O)和完成端口(Completion P原创 2013-03-20 22:11:56 · 910 阅读 · 1 评论 -
C/C++程序员必须熟练应用的开源项目
http://blog.csdn.net/huang_xw/article/details/8446994作为一个经验丰富的C/C++程序员, 肯定亲手写过各种功能的代码, 比如封装过数据库访问的类, 封装过网络通信的类,封装过日志操作的类, 封装过文件访问的类, 封装过UI界面库等, 也在实际的项目中应用过, 但是回过头仔细想想,其实以前自己写过的这些代码,只能是在特定的项目或者特定的环境中原创 2013-03-20 23:31:26 · 907 阅读 · 0 评论 -
C++高频面试题
malloc/free和new/delete的区别malloc/free是C语言的标准库函数,new/delete是C++的运算符。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内。对于用户自定义的对象而言,用maloc/free无法满足动态管理对象的要求。(废话) new是类型安全的,malloc不是。int a=new float[2]是通不过编译的,原创 2013-03-20 23:32:49 · 848 阅读 · 0 评论 -
字符串操作函数源代码实现
//1字符串拷贝函数char* My_strcpy( char* strDest,const char* strSrc){ if(NULL == strDest || NULL == strSrc) { return NULL; } char* strTemp = strDest; while( (*strDest++ = *strSrc++) != '\0' )原创 2013-04-02 19:53:12 · 1002 阅读 · 0 评论 -
用c++简单实现智能指针
用c++简单实现智能指针 什么是智能指针?答案相当简单;智能指针是聪明的普通指针。这是什么意思?实际上,智能指针是一些对象,表现出普通指针的功能但是比普通指针多做了一些事情。这些对象像普通指针一样灵活,并且管理对象有自己的优点(比如构造器和自动析构)。智能指针解决了普通指针的一些问题。 普通指针的问题。 我们使用C++语言中的指针,最常见的问题是什么?内存翻译 2013-04-11 02:11:55 · 1756 阅读 · 2 评论 -
C++代码评审(Code Review)等级标准
感谢博主 http://blog.csdn.net/joinclear/article/details/8786055C++代码评审(Code Review)等级标准0 前言记录的问题都是来源于平常C++编码过程之中常见或基础的缺陷。只是由个人整理而成的标准,用于平常代码编写中的“扫雷”,没有权威性,现应用于我的开发团队。后续的补充完善还是一个漫长的转载 2013-04-11 21:14:29 · 787 阅读 · 0 评论 -
第二章排错的工具:调试器Windbg(下)
感谢博主 http://book.51cto.com/art/200711/59874.htm2.2 读懂机器的语言:汇编,CPU执行指令的最小单元2.2.1 需要用汇编来排错的常见情况汇编是CPU执行指令的最小单元。下面一些情况下,汇编级别的分析通常是必要的:1. 阅读代码看不出问题,但是跑出来的结果就是不对,怀疑编译器甚至CPU有毛病。2. 没有源代码可以阅读。比如,调原创 2013-04-16 00:36:06 · 4376 阅读 · 0 评论 -
Windows用户态程序高效排错 导读
感谢博主的好文章,支持原创 http://book.51cto.com/art/200711/59609.htm 《Windows用户态程序高效排错》一书介绍Windows系统上的用户态程序排错方法和技巧。本文是导读部分。AD: 2013大数据全球技术峰会低价抢票中 导 读0.1 本书介绍什么这是一本介绍Windows系统上用原创 2013-04-16 00:17:31 · 890 阅读 · 0 评论 -
与熊力先生谈调试
感谢博主的好文章 http://book.51cto.com/art/200711/59610.htm 《Windows用户态程序高效排错》一书介绍Windows系统上的用户态程序排错方法和技巧。本文是与熊力先生谈调试的记录。 。AD: 2013大数据全球技术峰会低价抢票中 博文专访——与作者面对面与熊力先生谈调试针对熊力先生的新原创 2013-04-16 00:20:20 · 1156 阅读 · 0 评论 -
Windows用户态程序高效排错 作者序
感谢博主的好文章 http://book.51cto.com/art/200711/59607.htm《Windows用户态程序高效排错》一书介绍Windows系统上的用户态程序排错方法和技巧。本文是作者为本书写的序。AD: 2013大数据全球技术峰会低价抢票中 作者序到2006年初,我做了两年的技术支持。有好多做过的案例非常有趣,但是随原创 2013-04-16 00:13:30 · 881 阅读 · 0 评论 -
第1章 比工具、技巧和经验都重要的是你的思考
感谢博主 http://book.51cto.com/art/200711/59613.htm《Windows用户态程序高效排错》第一章从从四个风格迥异的案例谈思考,比工具、技巧和经验都重要。本文是这章内容的梗概。第1章 比工具、技巧和经验都重要的是你的思考——从四个风格迥异的案例说起首先跟大家分享导师Parker给我的一个问题:镜子里原创 2013-04-16 00:24:10 · 1638 阅读 · 0 评论 -
第二章排错的工具:调试器Windbg(上)
感谢博主 http://book.51cto.com/art/200711/59731.htm《Windows用户态程序高效排错》第二章主要介绍用户态调试相关的知识和工具。本文主要讲了排错的工具:调试器Windbg。第二章 汇编、异常、内存、同步和调试器——重要的知识点和神兵利器这一部分主要介绍用户态调试相关的知识和工具。包括:汇编、异常(e原创 2013-04-16 00:31:40 · 2704 阅读 · 0 评论 -
C++中string的成员函数
感谢博主http://hi.baidu.com/shazi129/item/d24699affd671916a8cfb788 C++中string的成员函数string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数原创 2013-04-24 22:37:19 · 583 阅读 · 0 评论 -
vs2008中如何在项目属性中切换“图形形式”和“控制台形式”——即调出或消除黑窗口
http://blog.csdn.net/fm0517/article/details/7913193 打开项目属性->通用属性->链接器->系统->子系统,在其中选择即可切换。原创 2013-06-24 20:42:08 · 953 阅读 · 0 评论 -
英特尔® Performance Counter Monitor(PCM)--测量 CPU 利用率的更好方法
http://software.intel.com/zh-cn/articles/intel-performance-counter-monitor下载代码示例IntelPerformanceCounterMonitorV1.6.zip过去几十年内,计算系统的复杂性显著增加。层次化高速缓存子系统、非一致性内存、同步多线程和乱序执行等技术均为现代处理器的性能和计算能力带来了巨大的影响转载 2013-07-02 00:30:29 · 4866 阅读 · 0 评论 -
利用Windows性能计数器(PerformanceCounter)监控
http://www.cnblogs.com/shanyou/archive/2010/12/23/1914736.html 一、概述性能监视,是Windows NT提供的一种系统功能。Windows NT一直以来总是集成了性能监视工具,它提供有关操作系统当前运行状况的信息,针对各种对象提供了数百个性能计数器。性能对象,就是被监视的对象,典型例子有Processor、Process、M转载 2013-07-02 00:45:28 · 1331 阅读 · 0 评论 -
对学习编程者的忠告:
http://bbs.csdn.net/topics/390516360 计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构……对学习编程者的忠告:眼过千遍不如手过一遍!书看千行不如手敲一行!手敲千行不如单步一行!单步源代码千行不如单步对应汇编一行转载 2013-07-17 22:45:15 · 867 阅读 · 0 评论 -
extern "c"是什么意思
转自百度知道 extern "C" 包含双重含义,从字面上即可得到:首先,被它修饰的目标是“extern”的;其次,被它修饰的目标是“C”的。让我们来详细解读这两重含义。 (1) 被extern "C"限定的函数或变量是extern类型的 extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使原创 2013-07-19 00:02:08 · 1208 阅读 · 0 评论