月归档:2007 年一月

C++中class与struct的区别
HOT

  很老的问题了。今天稍微总结了下,有遗漏的地方和错误的地方还望大家补充。   关于使用大括号初始化  class和struct如果定义了构造函数的话,都不能用大括号进行初始化  如果没有定义构造函数,struct可以用大括号初始化。  如果没有定义构造函数,且所有成员变量全是public的话,可以用大括号初始化。  关于默认访问权限  class中默认的成员访问权限是private的,而stru...
阅读全文

C++语言代码检查工具PC-Lint四步速成
HOT

 概述  PC-Lint是一个历史悠久,功能异常强劲的静态代码检测工具。它的使用历史可以追溯到计算机编程的远古时代(30多年以前)。经过这么多年的发展,它不但能够监测出许多语法逻辑上的隐患,而且也能够有效地帮你提出许多程序在空间利用、运行效率上的改进点,在很多专业级的软件公司,比如Microsoft, PC-Lint检查无错误无警告是代码首先要过的第一关,我个人觉得,对于小公司和个人开发而言,PC...
阅读全文

C++中禁止异常信息传递到析构函数外
HOT

  在有两种情况下会调用析构函数。第一种是在正常情况下删除一个对象,例如对象超出了作用域或被显式地delete。第二种是异常传递的堆栈辗转开解(stack-unwinding)过程中,由异常处理系统删除一个对象。   在上述两种情况下,调用析构函数时异常可能处于激活状态也可能没有处于激活状态。遗憾的是没有办法在析构函数内部区分出这两种情况。因此在写析构函数时你必须保守地假设有异常被激活,因为如果在...
阅读全文

C++初学者应该关心的优秀图书一览
HOT

 1.The C++ Programming Lanuage, by Bjarne Stroustrup, Speical 3rd edition,Addison Wesley     这是C++创始人B教主之力作,描述C++语言之经典一书。这本书第三版是97年出的,B教主老人家给这本书开了个网页http://www.research.att.com/~bs/3rd.html,2000年...
阅读全文

实现C语言高效编程的四大秘技
HOT

编写高效简洁的C语言代码,是许多软件工程师追求的目标。本文就工作中的一些体会和经验做相关的阐述,不对的地方请各位指教。   第1招:以空间换时间  计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招——以空间换时间。  例如:字符串的赋值。  方法A,通常的办法:#define LEN 32char string1 ;memset...
阅读全文

C程序中外部变量与函数关系解惑
HOT

  C程序由一组对象组成,这些对象包括程序中所使用的变量和实现特定功能的函数。变量可以分为函数内部定义、使用的变量和函数外部定义的变量,通常情况下,把函数内部定义、使用的变量称为内部变量或局部变量,而将在函数外部定义的、供许多函数所使用的变量称为外部变量,一般情况下,也可以称为全局变量。  由于C语言不允许在一个函数中定义其他函数,因此函数本身是外部的。一般情况下,也可以说函数是全局函数。在缺省情...
阅读全文

并非偏见 也驳"驳’C语言已经死了’"
HOT

  >> 有偏见的永远只是个体,而不是群体。作者加了后面那句,无疑证明有偏见的不是C/C++程序员,而正是他自己。  错了,真理是站在少数人这边的,当一种变革将发生的时候,带有偏见往往是大众是传统力量。  >> 这段话更加荒谬了。没见过优秀的C/C++代码? C++标准库(STL)如此优雅。况且,有那么多经典的C/C++开源作品,以及无意之中泄漏的Windows NT核心源...
阅读全文

深入理解C++中的mutable关键字
HOT

  mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。  在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。  我们知道,如果类的成员函数不会改变对象的状态,那么这个成员函数一般会声明成const的。但是,有些时候,我们需要在const的函数里面修改一些跟类...
阅读全文

Intel C++ 9.0编译器优化效果测试
HOT

摘 要 本文主要针对Intel C++ 9.0编译器在Visual C++ 6.0环境下对一些常用的功能性操作的优化作用进行了测试验证。主要从对采用编译器前后的程序运行时间进行比较来进行判断。测试范围主要集中于对线程的切换时间,转异常以及异常恢复时间,高优先级线程抢先时间以及信号量响应时间方面。此外,还对一些常用的数学函数的运行时间进行了测试比较。得出的测试数据和结论能对采用此编译器的用户有一定的...
阅读全文

用托管C++监视Windows事件日志
HOT

  随着病毒、流氓软件、广告软件等的日益增多,许多人都开始使用注册表监视程序,这些监视程序通常会在安装软件试图修改注册表时,弹出一个警告窗口提示用户。然而,在安全问题上,经常被忽略的地方则是Windows事件日志--尤其是安全日志,安全日志通常记录了Windows操作系统及关键系统应用程序的操作,如试图非法登录、端口扫描、及其他安全相关的事件。  文中将演示如何在应用程序中监视Windows事件日...
阅读全文

C++中使用BHO来屏蔽特定网站
HOT

  BHO(浏览器辅助对象)是一种简单的ATL COM对象,而Internet Explorer会在每次运行时都加载它;换句话来说,即每个Internet Explorer的实例都会加载它。BHO运行在Internet Explorer的地址空间内,能对可访问的对象(如窗口、模块等等)执行任何操作,且因为它依附于浏览器的主窗口,所以其生命期与浏览器实例的生命期一致。  如果在系统中打开了活动桌面,...
阅读全文

C/C++中回调函数初探
HOT

简介  对于很多初学者来说,往往觉得回调函数很神秘,很想知道回调函数的工作原理。本文将要解释什么是回调函数、它们有什么好处、为什么要使用它们等等问题,在开始之前,假设你已经熟知了函数指针。   什么是回调函数?  简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。  为什么要使用回调函数...
阅读全文

C++中对浮点数的格式化显示
HOT

在许多应用程序领域中,都需要控制小数点后的小数位,但是浮点数对此不能提供直接的支持。怎样对程序中的浮点数据进行"整齐"地格式化呢?在此我们有一个迂回的方法,先把它们转换为字符串,格式化后以文本形式显示出来。   在日常编程中--包括对话框、关系数据库、金融程序、SMS程序及一切处理数据文件的程序,需要控制小数点后的小数位的情况非常普遍,本文中将要讲解如何用简单的方法来控制小数位,另外,还要揭开字符...
阅读全文
1 页 / 共 4