Welcome 微信登录

首页 / 软件开发 / C++

C++中union的应用剖析

C++中union的应用剖析

C++中union的应用剖析2010-04-13 ccplusplus 前言熟悉C的程序员都知道union(联合体)的用法,利用union可以用相同的存储空间存储不同型别的数据类型,从而节省内存空间。当访问其内成员时可用"."和"->"来直接访问。在C++出现后,它继承了union并保留了其在C中的特性。但是在C++中的union又有了新的扩展,这需要大家了解,要不然你会感到费解和迷惑。下面我讲两点。一、在un...
C++指针探讨(一)数据指针

C++指针探讨(一)数据指针

C++指针探讨(一)数据指针2010-04-13 cnblogs 沐枫小筑指针,在C/C++语言中一直是很受宠的;几乎找不到一个不使用指针的C/C++应用。用于存储数据和程序的地址,这是指针的基本功能。用于指向整型数,用整数指针(int*);指向浮点数用浮点数指针(float*);指向结构,用对应的结构指针(struct xxx *);指向任意地址,用无类型指针(void*)。有时候,我们需要一些通用的指针。在C语言当中,(void*) 可以代表一切;但是...
C++指针探讨(二)函数指针

C++指针探讨(二)函数指针

C++指针探讨(二)函数指针2010-04-13 cnblogs 沐枫小筑在C/C++中,数据指针是最直接,也最常用的,因此,理解起来也比较容易。而函数指针,作为运行时动态调用(比如回调函数 CallBack Function)是一种常见的,而且是很好用的手段。我们先简单的说一下函数指针。(这一部份没什么价值,纯是为了引出下一节的内容)2 常规函数指针void(*fp)();fp 是一个典型的函数指针,用于指向无参数,无返回值的函数。void(*fp2)(...
C++指针探讨(三)成员函数指针

C++指针探讨(三)成员函数指针

C++指针探讨(三)成员函数指针2010-04-13 cnblogs 沐枫小筑C语言的指针相当的灵活方便,但也相当容易出错。许多C语言初学者,甚至C语言老鸟都很容易栽倒在C语言的指针下。但不可否认的是,指针在C语言中的位置极其重要,也许可以偏激一点的来说:没有指针的C程序不是真正的C程序。然而C++的指针却常常给我一种束手束脚的感觉。C++比C语言有更严格的静态类型,更加强调类型安全,强调编译时检查。因此,对于C语言中最容易错用的指针,更是不能放过:C++...
C++指针探讨(四)函数对象

C++指针探讨(四)函数对象

C++指针探讨(四)函数对象2010-04-13 cnblogs 沐枫小筑函数对象不是函数指针。但是,在程序代码中,它的调用方式与函数指针一样,后面加个括号就可以了。这是入门级的随笔,说的是函数对象的定义,使用,以及与函数指针,成员函数指针的关系。沐枫小筑函数对象实质上是一个实现了operator()——括号操作符——的类。例如:class Add{public: int operator()(int a,...
C、C++和Java安全编码实践提示与技巧

C、C++和Java安全编码实践提示与技巧

C、C++和Java安全编码实践提示与技巧2010-04-13 ddj 对于所有类型环境中的开发人员来说,安全性正成为一个越来越重要的主题,即便过去一直认为安全性不成问题的嵌入式系统也是如此。本文将介绍几种类型的编码漏洞,指出漏洞是什么、如何降低代码被攻击的风险、如何更好地找出代码中的此类缺陷。注入攻击通过将信息注入正在运行的流程,攻击者可以危害进程的运行状态,以反射到开发人员无法保护的某种最终目标。例如,攻击者可能会通过堆栈溢出(stack corrup...
c++ using namespace详解

c++ using namespace详解

c++ using namespace详解2010-04-13所谓namespace,是指标识符的各种可见范围。C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。一 :<iostream>和<iostream.h>是不一样,前者没有后缀,实际上,在你的编译器include文件夹里面可以看到,二者是两个文件,打开文件就会发现,里面的代码是不一样的。后缀为。h的头文件c++标准已经明确提出不支持了,早些的实现...
完整的学习C++的读书路线图(1)

完整的学习C++的读书路线图(1)

完整的学习C++的读书路线图(1)2010-05-16/*推荐给想学C++的朋友一个简单但是完整的学习C++的读书路线图:C++ Primer-> c++标准程序库-> effective C++-> effective STL->深入探索C++对象模型C程序常用算法源码算法(Algorithm):计算机解题的基本思想方法和步骤。算法的描述:是对要解决一个问题或要完成一项任务所采取的方法和步骤的描述,包括需要什么数据(输入什么数据、...
完整的学习C++的读书路线图(2)

完整的学习C++的读书路线图(2)

完整的学习C++的读书路线图(2)2010-05-16指针,数组,类型的识别,参数可变的函数。一.指针。它的本质是地址的类型。在许多语言中根本就没有这个概念。但是它却正是C灵活,高效,在面向过程的时代所向披靡的原因所在。因为C的内存模型基本上对应了现在von Neumann(冯。诺伊曼)计算机的机器模型,很好的达到了对机器的映射。不过有些人似乎永远也不能理解指针「注1」。注1:Joel Spolsky就是这样认为的,他认为对指针的理解是一种aptitude...
完整的学习C++的读书路线图(3)

完整的学习C++的读书路线图(3)

完整的学习C++的读书路线图(3)2010-05-16指针无疑,指针是C中最精髓的部分,因为指针可以在初始化后,可以同时拥有所指变量的两样东西——值和地址。这就给我们写程序时很大的空间,可以直接与内存对话!这也同样引出了千奇百怪的错误,不知道该怎么表达,其实最根本的是要明白我们在使用指针的时候,知道我们使用的究竟是她的哪个性质!是值?还是地址?于此对应的,指针有两种最基本的操作:一个是取地址&,主要用于初始化时的赋值操作。&...
完整的学习C++的读书路线图(4)

完整的学习C++的读书路线图(4)

完整的学习C++的读书路线图(4)2010-05-16浅谈内存泄漏对于一个c/c++程序员来说,内存泄漏是一个常见的也是令人头疼的问题。已经有许多技术被研究出来以应对这个问题,比如Smart Pointer,Garbage Collection等。Smart Pointer技术比较成熟,STL中已经包含支持Smart Pointer的class,但是它的使用似乎并不广泛,而且它也不能解决所有的问题;Garbage Collection技术在Java中已经比...
完整的学习C++的读书路线图(5)

完整的学习C++的读书路线图(5)

完整的学习C++的读书路线图(5)2010-05-16printf()函数参数格式详解printf的格式控制的完整格式:% - 0 m.n l或h 格式字符下面对组成格式说明的各项加以说明:①%:表示格式说明的起始符号,不可缺少。②-:有-表示左对齐输出,如省略表示右对齐输出。③0:有0表示指定空位填0,如省略表示指定空位不填。④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=...
二叉树创建及遍历算法

二叉树创建及遍历算法

二叉树创建及遍历算法2010-05-16成晓旭//二叉树处理头文件//包括二叉树的结构定义,二叉树的创建,遍历算法(递归及非递归),/* 作者:成晓旭 时间:2001年10月7日(18:49:38-20:00:00) 内容:完成二叉树创建,二叉树的前,中,后序遍历(递归) 时间:2001年10月7日(21:09:38-22:09:00) 内容:完成二叉树的前,中序遍历(非递归) 时间:2001年10月8日(10:09:38-11:29:00) 内容:完成查...
二分查找算法(迭代和递归版本)

二分查找算法(迭代和递归版本)

二分查找算法(迭代和递归版本)2010-05-16 C++博客 那谁Bentley在他的著作《Writing Correct Programs》中写道,90%的计算机专家不能在2小时内写出完全正确的二分搜索算法。我自己尝试了一下,确实要第一次就完全写正确不容易.以下两份实现依次为迭代和递归版本的代码,二分查找的思想很多人都清楚,但是这里有一个细节就是要注意边界的选择.int search(int array[],int n,int v){ int l...
仿STL中的堆算法的一个实现

仿STL中的堆算法的一个实现

仿STL中的堆算法的一个实现2010-05-16 C++博客 那谁RT。堆的性质之类的不再这里阐述,写这个算法只为了更好的理解STL中的堆算法,如果看不懂STL中的算法也可以来参考这里给出的算法,因为是纯C的看起来会省去很多语言方面的细节。同时里面还有一个STL中对应算法的测试以比较两者的效果。/********************************************************************created:2007/...
蚁群算法小程序(C/C++语言实现)(一)

蚁群算法小程序(C/C++语言实现)(一)

蚁群算法小程序(C/C++语言实现)(一)2010-05-16算法解释:程序开始运行,蚂蚁们开始从窝里出动了,寻找食物;他们会顺着屏幕爬满整个画面,直到找到食物再返回窝。其中,‘F’点表示食物,‘H’表示窝,白色块表示障碍物,‘+’就是蚂蚁了。预期的结果:各个蚂蚁在没有事先告诉他们食物在什么地方的前提下开始寻找食物。当一只找到食物以后,它会向环境释放一种信息素,吸引其他的蚂蚁过来,这样...
<< 111 112 113 114 115 116 117 118 119 120 >>