随笔分类 -  C/C++

(1)const char *p (2)char const *p (3)char * const p 说明上面三种描述的区别。
摘要:(1)const char *p (2)char const *p 都是指向char类型的const对象指针,p不是常量,我们可以修改p的值,使其指向不同的char。(3)char* const p 此时*p可以修改,而p不能被修改。 如果const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于星号的右侧,const就是修饰指针本身,即指针本身是常量... 阅读全文
posted @ 2011-10-05 15:19 dartagnan 阅读(1142) 评论(0) 推荐(0)
在一个字符串中找到第一个只出现一次的字符
摘要:题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。 我的思路是: 如果要知道一个字符是否只出现过一次,必须遍历一次字符串知道所有字符出现过的情况,从前从后都可以。但在遍历中要用数组统计每个字符的出现次数,到最后将,再遍历一遍数组,得到出现次数为1的第一个字符,取出。 空间复杂度:O(1) 时间复杂度:O(n)这是别人通过HashTable来完成的,殊途同归! REF: http://www.cnblogs.com/hackbuteer/articles/2080967.html 看到这道题时,最直观的想法是从头开始扫描这个字符串中的每个字符。当访问到... 阅读全文
posted @ 2011-08-03 21:05 dartagnan 阅读(2138) 评论(2) 推荐(0)
C/C++/Perl/汇编/Java效率比较
摘要:事发 我无聊的翻着散落案头的书籍,这些都是五花八门的关于编程和系统管理的著作。干了这么多年程序员,大大小小的软件和项目也做了无数。每每有新入行的朋友问我这个所谓的"老前辈":哪种语言最好之类的问题,我总会作出一副知识渊博的样子,复述着从更老的老前辈那里听来的或者某些名著上看来的"知识"。就好比我们从学习编程的第一天起,就被计算机老师告知,COBOL语言是擅长处理商务事务、FOTRAN语言是用于科学计算一样。类似的知识还有"汇编语言比C语言快得多"以及"JAVA是一种效率很低的语言环境"在一代又一代的程序员中口耳相传 阅读全文
posted @ 2011-06-15 22:26 dartagnan 阅读(2635) 评论(0) 推荐(0)
VC中头文件编译错误:fatal error C1010:“unexpected end of file while looking for precompiled header directive"
摘要:如何解决:"fatalerrorC1010:VC++6.0中常出现的"unexpected end of file while looking for precompiled header directive"的问题? 我想大家在VC6.0中经常回遇到这样的问题,如何解决呢?1、看看是否缺少“;”,“}” 隐藏得深的是宏、.h文件的问题就要费点心思了2、一定是你在类的部分定义被删除了,M$在每个类中定义一些特殊的常量,是成对的,如下: .h: #if !defined(AFX_CHILDFRM_H__54CA89DD_BA94_11D4_94D7_0010B503 阅读全文
posted @ 2010-10-18 19:52 dartagnan 阅读(261) 评论(0) 推荐(0)
VC中头文件编译错误:fatal error C1010:“unexpected end of file while looking for precompiled header directive"
摘要:如何解决:"fatalerrorC1010:VC++6.0中常出现的"unexpected end of file while looking for precompiled header directive"的问题? 我想大家在VC6.0中经常回遇到这样的问题,如何解决呢?1、看看是否缺少“;”,“}” 隐藏得深的是宏、.h文件的问题就要费点心思了2、一定是你在类的部分定义被删除了,M$在每个类中定义一些特殊的常量,是成对的,如下: .h: #if !defined(AFX_CHILDFRM_H__54CA89DD_BA94_11D4_94D7_0010B503 阅读全文
posted @ 2010-10-18 19:52 dartagnan 阅读(3030) 评论(0) 推荐(0)
解决方案---VC6.0(所谓SP6)编译连接过程死掉或“掉线”
摘要:回答一:这不是机器的问题,没有必要重装。VC++6.0自己存在bug。往往是一直显示Linking,但是无法执行。你需要下载一个VC6.0的补丁,然后将其安装在VC所在的安装包中即可解决问题。回答二:VC6如果不打sp6补丁,经常是编译的时候就会死了,VC2003如果不打sp1的补丁,经常是调试的时候就死了!其它版本还没有发现问题!打上sp6补丁,有的函数是没有办法单步调试的比如memset,strcpy等函数,只能直接跳过该函数回答三:可能给卡巴斯基有点关系,建议运行前推出卡巴;补丁下载地址:自行Baidu/Google: VC6.0 SP6补丁;注意要下英文版的补丁;但这样的后果是,你的V 阅读全文
posted @ 2010-10-18 19:51 dartagnan 阅读(812) 评论(0) 推荐(0)
超前引用(类的提前声明)出错:error C2079: 'xxx' uses undefined class '***'
摘要:错误如下:error C2079: 'xxx' uses undefined class '***' 比如说,我们先定义一个b类再定义一个a类,a的一个成员就是b,如下:class b{ int i;};class a {b val ;}; 这样当然可以;但如果这个时候,要把b的定义放到后面去,大家都知道在前面先声明b,那么:class b;class a {b val ;};class b{int i;}; 对不对呢?好像没有错,有点像函数的提前声明及调用;其实是通过不了编译的;因为这时候:类b还未得到分配空间,无法对val 进行定义及空间分配(因为编译器在处 阅读全文
posted @ 2010-10-18 12:57 dartagnan 阅读(991) 评论(0) 推荐(1)
VC6.0的一些路径设置及常见错误Error spawning cl.exe的解决方法!
摘要:很多人在安装VC 6.0后有过点击“Compile”或者“Build”后被出现的“Compiling... ,Error spawning cl.exe”错误提示给郁闷过。很多人的选择是重装,实际上这个问题很多情况下是由于路径设置的问题引起的,“CL.exe”是VC使用真正的编译器(编译程序),其路径在“VC根目录\VC98\Bin”下面,你可以到相应的路径下找到这个应用程序。因此问题可以按照以下方法解决:打开vc界面 点击VC“TOOLS(工具)”—>“Option(选择)”—>“Directories(目录)”重新设置“Excutable Fils、Include Files、 阅读全文
posted @ 2010-10-14 18:58 dartagnan 阅读(1117) 评论(0) 推荐(0)
BYTE,WORD,DWORD的大小及一些特殊的"高低位宏"
摘要:一、定义在VC6.0的Microsoft Visual Studio\VC98\Include\windef.h里,定义了BYTE,WORD,DWORDtypedef unsigned longDWORD;typedef unsigned charBYTE;typedef unsigned shortWORD;在Visual C++ 6.0中,char型长度为1字节,short型长度为2字节,int和long型长度都为4字节,因此可以认为BYTE与WORD,DWORD定义的变量分别获得了1字节,2字节,4字节内存,正与BYTE与WORD,DWORD的字面意义相符。即:BYTE=unsigned 阅读全文
posted @ 2010-10-14 14:24 dartagnan 阅读(1913) 评论(0) 推荐(0)
BYTE,WORD,DWORD的大小及一些特殊的"高低位宏"
摘要:一、定义在VC6.0的Microsoft Visual Studio/VC98/Include/windef.h里,定义了BYTE,WORD,DWORDtypedef unsigned longDWORD;typedef unsigned charBYTE;typedef unsigned shortWORD;在Visual C++ 6.0中,char型长度为1字节,short型长度为2字节,int和long型长度都为4字节,因此可以认为BYTE与WORD,DWORD定义的变量分别获得了1字节,2字节,4字节内存,正与BYTE与WORD,DWORD的字面意义相符。即:BYTE=unsigned 阅读全文
posted @ 2010-10-14 14:24 dartagnan 阅读(900) 评论(0) 推荐(0)
MFC库文件版本对程序的影响:Unhandled exception in ***.exe(MFCO42D.dll)0xC00000005:Access Violation,但多数情况下还是对内存操作不当造成的
摘要:一般情况下,我们开发的MFC程序,程序一般要用到VC中关于MFC的库,其形式是.lib和对应的.dll,在工程的设置里面,project->setting->general里,有"Using MFC in a static library"或者是"Using MFC in a shared DLL",一般开发时,如果工程只是一个单独的程序,一般我们会使用"Using MFC in a static library",这样的话,编译成功后,会只有一个.exe就可以了,到了没有装MFC的机子,也可以正常用,如果不这样的话,就得 阅读全文
posted @ 2010-10-13 19:34 dartagnan 阅读(4384) 评论(0) 推荐(2)
关于VS2008和IE8冲突以致智能设备向导不能创建的问题
摘要:Visual C++ team has discovered that after installing the current release of Internet Explorer (Internet Explorer 8), some VC++ wizards do not function correctly. The products affected are Visual Studio 2005 and Visual Studio 2008. Following are the affected wizards:- Add Function- Add Variable- Smar 阅读全文
posted @ 2010-05-29 11:00 dartagnan 阅读(287) 评论(0) 推荐(0)
手把手教你把Vim改装成一个IDE编程环境(图文)
摘要:手把手教你把Vim改装成一个IDE编程环境(图文)By: 吴垠 Date: 2007-09-07 Version: 0.5 Email: lazy.fox.wu#gmail.com Homepage:http://blog.csdn.net/wooinCopyright: 该文章版权由吴垠和他可爱的老婆小包子所有。可在非商业目的下任意传播和复制。对于商业目的下对本文的任何行为需经作者同意。联系方式:lazy.fox.wu#gmail.com ----------------------------------------------------------------------------- 阅读全文
posted @ 2010-04-13 21:49 dartagnan 阅读(280) 评论(0) 推荐(0)
[转贴]比较VC和Delphi
摘要:Visual C++与Delphi之比较"最近在CSDN的论坛上的讨论非常火热,本文将以一个程序员的角度,从技术水平、功能、性能、易用性、稳定性、发展历程和前景等方面,以Visual C++6和Delphi5为代表,尽可能客观地比较介绍Visual C++和Delphi这两大主流开发工具的优缺点,其中将涉及到语言、应用框架、控件、编译和连接、集成界面、调试、COM、数据库开发等。本文还将对如何选择使用这两个开发工具提出一些建议。 值得一提的是,由于C++Builder与Delphi同为Inprise公司产品,它们除了使用的语言不同,其余特性几乎都相同。因此本文对C++Builder程 阅读全文
posted @ 2009-10-20 18:43 dartagnan 阅读(484) 评论(1) 推荐(0)
百度俱乐部(public@hustbaidu.com)面向对象讲座---封装变化的事物 by Kai.Zhang
摘要:序言人们使用面向对象设计有两个很重要的原因,一个是从现实的角度去考虑问题而不是机器的角度,这使开发变得更快更敏捷。第二个原因便是为了可扩展编程与代码复用,使得在软件开发过程的重复劳动更少。本次讲座要讲的就是如何利用“封装变化的事物”这一思想来进行面向对象的设计,达到代码复用和可扩展编程的目的。注:此讲座需要大家提前掌握面向对象的一些概念:类,对象,继承,封装(之前YGui的面向对象讲座中讲述)为何要封装变化的事物在这个世界,万事万物都是不一样的,我们在编写程序的时候面对的问题也都各不一样,一般情况下面对不同的问题我们会有不同的解决方法,这样的设计方法可以使我们的程序设计高度针对我们所要解决的问 阅读全文
posted @ 2009-10-20 09:48 dartagnan 阅读(258) 评论(0) 推荐(0)
WPF-Windows Presentation Foundation简介
摘要:WPF-Windows Presentation Foundation Windows Presentation Foundation(以前的代号为“Avalon”)是 Microsoft 用于 Windows 的统一显示子系统,它通过 WinFX 公开。它由显示引擎和托管代码框架组成。Windows Presentation Foundation 统一了 Windows 创建、显示和操作文档、媒体和用户界面 (UI) 的方式,使开发人员和设计人员可以创建更好的视觉效果、不同的用户体验。 Windows Presentation Foundation 发布后(计划在 2006 年),Windo 阅读全文
posted @ 2009-10-19 20:29 dartagnan 阅读(231) 评论(0) 推荐(0)
COM相关
摘要:什么是COM组件? COM是Component Object Model (组件对象模型)的缩写。 用户需要什么样的软件产品?这是一个多选题,但高效,健壮是肯定会被选种的。作为一名软件开发人员如何做才能满足用户的需要呢?必须要保证升级应用时不破坏与以前版本的向后兼容性。必须做到扩展系统服务时不依赖特定的操作系统。面向对象的程序设计显然是一次革命性的改变。采用面向对象的设计方法我们可以很容易的把要解决的问题事物抽象成各种类,并将内部动作封装隐藏起来,只提供一些接口。但这并没有完全解决我们的问题。《程序员》杂志说过,现在是后OO时代,那OO以后是什么呢?应该是面向组件吧。 一个COM应用程序由三. 阅读全文
posted @ 2009-10-14 22:13 dartagnan 阅读(207) 评论(0) 推荐(0)