
C/C++
文章平均质量分 78
njreds
无
展开
-
C/C++中的函数参数传递机制
一、 函数参数传递机制的基本理论 函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题。基本的参数传递机制有两种:值传递和引用传递。以下讨论称调用其他函数的函数为主调函数,被调用的函数为被调函数。 值传递(passl-by-value)过程中,被调函数的形式参数作为被调函数的局部变量处理,即在堆栈中开辟了内存空间以存放由主调函数放进来的实参的值,从而转载 2004-11-17 23:59:00 · 945 阅读 · 0 评论 -
定义函数对象
尽管函数指针被广泛用于实现函数回调,但C++还提供了一个重要的实现回调函数的方法,那就是函数对象。函数对象(也称“算符”)是重载了“()”操作符的普通类对象。因此从语法上讲,函数对象与普通的函数行为类似。 用函数对象代替函数指针有几个优点,首先,因为对象可以在内部修改而不用改动外部接口,因此设计更灵活,更富有弹性。函数对象也具备有存储先前调用结果的数据成员。在使用普通函数时需要将先前调用的转载 2004-11-16 21:39:00 · 907 阅读 · 0 评论 -
【转帖】解析C语言中的sizeof
一、sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。 二、sizeof的使用方法 1、用于数据类型 sizeof使用形式:sizeof(type) 数据类型必须用括号括住。如sizeof(in转载 2004-11-16 21:07:00 · 1046 阅读 · 0 评论 -
深入printf
/****printf.c - print formatted** Copyright (c) 1985-1997, Microsoft Corporation. All rights reserved.**Purpose:* defines printf() - print formatted data***********************************************转载 2004-11-14 09:14:00 · 953 阅读 · 0 评论 -
Effective C++ 2e: 类和函数:设计与声明
类和函数:设计与声明在程序中声明一个新类将导致产生一种新的类型:类的设计就是类型设计。可能你对类型设计没有太多经验,因为大多数语言没有为你提供实践的机会。在C++中,这却是很基本的特性,不是因为你想去做才可以这么做,而是因为每次你声明一个类的时候实际上就在做,无论你想不想做。设计一个好的类很具有挑战性,因为设计好的类型很具有挑战性。好的类型具有自然的语法,直观的语义和高效的实现。在C++中,一转载 2004-11-19 07:22:00 · 1807 阅读 · 0 评论 -
Effective C++ 2e: 构造函数,析构函数和赋值操作符
构造函数,析构函数和赋值操作符几乎所有的类都有一个或多个构造函数,一个析构函数和一个赋值操作符。这没什么奇怪的,因为它们提供的都是一些最基本的功能。构造函数控制对象生成时的基本操作,并保证对象被初始化;析构函数摧毁一个对象并保证它被彻底清除;赋值操作符则给对象一个新的值。在这些函数上出错就会给整个类带来无尽的负面影响,所以一定要保证其正确性。本章我将指导如何用这些函数来搭建一个结构良好的类的主干。转载 2004-11-18 14:04:00 · 1539 阅读 · 0 评论 -
我眼中的指针--学习指针不可少的好文章
为初学者服务。这是我的帖子的宗旨。我也是个初学者(强调了无数遍了) ,我以我的理解把初学者觉得难懂的东西用浅显的语言写出来。由于小学时语文 没学好,所以竭尽全力也未必能达到这个目的。尽力而为吧。 指针是c和c++中的难点和重点。我只精通dos下的basic。c语言的其它各种特 性,在basic中都有类似的东西。只有指针,是basic所不具备的。指针是c的灵魂 。 我不想重复大多数书上说得很清楚的东转载 2004-11-16 06:59:00 · 908 阅读 · 0 评论 -
Effective C++ 2e: 内存管理
内存管理C++中涉及到的内存的管理问题可以归结为两方面:正确地得到它和有效地使用它。好的程序员会理解这两个问题为什么要以这样的顺序列出。因为执行得再快、体积再小的程序如果它不按你所想象地那样去执行,那也一点用处都没有。“正确地得到”的意思是正确地调用内存分配和释放程序;而“有效地使用”是指写特定版本的内存分配和释放程序。这里,“正确地得到”显得更重要一些。然而说到正确性,C++其实从C继承了一转载 2004-11-18 07:24:00 · 1333 阅读 · 0 评论 -
C++中的动态多维数组
[前言]C++的new操作符是该语言一个非常好的语法特性,然而实际使用中却发现new操作符有不少限制,为突出的一点便是用new操作符分配多维数组空间时,不能让数组的每一维都动态可变。本文将对此提出一个简单直观的解决方案,在一个实际问题的简化模型中加以说明,并以此释清许多初学者对C++中new操作符与多维数组的误区。 1. 问题的提出--多维可变数组的实际用途 下面是实际编程中遇到问题的一个简化转载 2004-11-16 22:45:00 · 1319 阅读 · 0 评论 -
Effective C++ 2e: 从C转向C++
从C转向C++对每个人来说,习惯C++需要一些时间,对于已经熟悉C的程序员来说,这个过程尤其令人苦恼。因为C是C++的子集,所有的C的技术都可以继续使用,但很多用起来又不太合适。例如,C++程序员会认为指针的指针看起来很古怪,他们会问:为什么不用指针的引用来代替呢?C是一种简单的语言。它真正提供的只有有宏、指针、结构、数组和函数。不管什么问题,C都靠宏、指针、结构、数组和函数来解决。而C++不是这转载 2004-11-18 06:57:00 · 1340 阅读 · 0 评论