现在位置: 首页 > c++
2012-07-12 08:04 工业·编程 ⁄ 共 7556字 暂无评论
高博简介:1983年生于安徽宿州,书香门第。87年开始学习算法语言,并掌握Algo- 60在709/TQ-16大型机上的纸带实现。小学时接触到内存为64K的学习机,查阅手册自编手柄驱动以自娱。中学时参加数次省级、国家级信息学竞赛, 成绩乏善可陈,参与兴致不减也。其间阅读如饥似渴,对算法设计和工程编码打磨不辍,同时发表文字数十万字,后考入上海交大专修计算机。毕业后,在微软中国 Windows Live Mail项目组工作,负责Mail Rendering...
阅读全文
2012-07-12 08:01 工业·编程 ⁄ 共 6132字 暂无评论
1. 定义: sizeof是何方神圣? sizeof 乃 C/C++ 中的一个操作符(operator)是也。简单说其作用就是返回一个对象或者类型所占的内存字节数。 MSDN上的解释为: The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types).This keyword returns a value of type size_t. 其返回值类型为size_t,在头文件stddef.h中定义。这是一个依赖于...
阅读全文
2012-07-12 07:50 工业·编程 ⁄ 共 2617字 暂无评论
一、     什么是浅复制     我想用一种形象的说法来说明这个问题。这里我的定义是不够严谨的,只是适合于C++的初学者。    首先明确在C++中复制这个动作在内存中做了些什么?它先得到一个内存区域,然后再把要复制的东西“填进”这个区域。而所谓的“浅复制”并不是这样进行复制的,它仅仅是让一个指针指向要复制的区域。   二、     一个关于...
阅读全文
2012-07-12 07:45 工业·编程 ⁄ 共 956字 暂无评论
为了避免同一个文件被include多次,C/C++中有两种方式,一种是#ifndef方式,一种是#pragma once方式。在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。 方式一: #ifndef __SOMEFILE_H__ #define __SOMEFILE_H__ ... ... // 一些声明语句 #endif 方式二: #pragma once ... ... // 一些声明语句     #ifndef的方式依赖...
阅读全文
2012-07-12 07:33 工业·编程 ⁄ 共 1620字 暂无评论
今天整理了一些#define的用法,与大家共享! 1.简单的define定义 #define MAXTIME 1000 一个简单的MAXTIME就定义好了,它代表1000,如果在程序里面写 if(i<MAXTIME){.........} 编译器在处理这个代码之前会对MAXTIME进行处理替换为1000。 这样的定义看起来类似于普通的常量定义CONST,但也有着不同,因为define的定义更像是简单的文本替换,而不是作为一个量来使用,这个问题在下面反映的尤为突出。...
阅读全文
2012-07-12 07:30 工业·编程 ⁄ 共 87字 暂无评论
++i相当于 i = i + 1; return i; 而i++相当于 int j = i; i = i+1; return j; 由于i++还必须copy值给j,所以速度较慢。 相信很多人都习惯i++吧,呵呵。
阅读全文
2012-07-12 07:23 工业·编程 ⁄ 共 1937字 暂无评论
    你所遇到的这几个宏是为了进行条件编译。一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句。 条件编译命令最常见的形式为: #ifdef 标识符 程序段1 #else 程序段2 #endif ...
阅读全文
2012-07-12 07:19 工业·编程 ⁄ 共 383字 暂无评论
1.前言 C++项目中如果代码层次结构不好,非常容易变得难以维护。对于规模较大的项目而言,必须将整个项目划分成若干模块进行开发。 2.模块 模块包括可执行文件,动态库和静态库。 2.1应用层 最上层为应用层,表现为可执行文件。 本层代码应主要进行界面控制,尽量不要涉及复杂逻辑。 2.2动态库层 动态库层作为逻辑模块的主体。采用动态库的好处是将复杂应用拆分成可以独立分发的子模块,便于...
阅读全文
2012-07-12 06:56 工业·编程 ⁄ 共 1533字 暂无评论
malloca/alloca: 内存分配函数,与malloc,calloc,realloc类似。但是注意一个重要的区别,_alloca是在栈(stack)上申请空间,用完马上就释放。 alloca包含在头文件malloc.h中,在某些系统中会宏定义成_alloca使用。 注意: 1)在调用 alloca的函数返回的时候, 它分配的内存会自动释放。也就是说, 用 alloca 分配的内存在栈上。所以释放不需要用户使用free. 2)alloca不具可移植性,而且在没有传统堆栈的机器上...
阅读全文
2012-07-11 23:08 工业·编程 ⁄ 共 882字 暂无评论
C++提供的预处理功能主要有以下3种 1、宏定义 2、文件包含 3、条件编译 为了与一般C++语句相区别,这些命令以符号#开头,而且末尾不包含分号 宏定义 用#define命令将一个指定的标识符(即宏名)来代表一个字符串。定义宏的作用一般是用一个短的名字代笔一个长的字符串。它的一般形式 #define  标识符  字符串 在C语言中用#define定义符号常量,由于C++已增加了const语句以定义常变量,因此#define在实际上已不多用 #def...
阅读全文