C++中的 static 关键字
前言: 本文只是本人对C++中关于静态类型的一个总结,如错误之处,请大家帮我改正。我分两个方面来总结,第一方面主要是相对于面向过程而言,即在这方面不涉及到类,第二方面相对于面向对象而言,主要说明static在类中的作用。 一、在面向过程设计中的static关键字 1、静态全局变量 定义:在全局变量前,加上关键字 static 该变量就被定义成为了一个静态全局变量。 特点: A、该变量在全局数据区分配内存。 B、初始化:如果不显式初始化,那么将被隐式初始化为0. C、访变量只在本源文件可见,严格的讲应该为定...
改造Hint输出方式
Delphi为每个可视构件(而非快速按钮专属)都提供了Hint及ShowHint特性,其中Hint属性指定文本提示盒中的文本,而ShowHint属性则决定鼠标指向构件时是否显示文本提示盒,当ShowHint值为True时,显示文本提示盒。用户可在对象监视器(Object Inspector)的属性栏中设置或在程序中修改Hint及ShowHint属性。 除此之外,Delphi还在类TApplication中提供了HintColor、HintPause、HintHidePause、HintShortPaus...
C/C++语言中指向函数的指针
“在C语言中,函数本身不是变量,但可以定义指向函数的指针,这种指针可以被赋值、存放于数组之中,传递给函数及作为函数的返回值等” --《The C Programming Language Second Edition》 下面给出几个简单的例子来说明指向函数的指针。 第一个例子说明指向函数的指针如何说明、赋值、调用。 #include #define TESTDATE 100 int func(int a) /* func用于打印一个整数 */ { return printf("%d\n",a); } m...
c++ 的11个要点
下面的这些要点是对所有的C++程序员都适用的。我之所以说它们是最重要 的,是因为这些要点中提到的是你通常在C++书中或网站上无法找到的。如:指向 成员的指针,这是许多资料中都不愿提到的地方,也是经常出错的地方,甚至是对 一些高级的C++程序员也是如此。 这里的要点不仅仅是解释怎样写出更好的代码,更多的是展现出语言规则里面 的东西。很显然,它们对C++程序员来说是永久的好资料。我相信这一篇文章会使 你收获不...
使用net-snmp API编程
在一个项目中使用了Redback SMS10000 的接入服务器,作为附加要求,需要做一个snmp的接口程序,目的是起发送一个subscriber reauth 的 snmp 包给接入服务器; 由于snmp的例程相对较少,所以在此截选程序中的snmp 相关部分以后,做一个注脚,记录下来。 程序使用了net-snmp 的API,所以系统要预先安装net-snmp; 编译时需要使用带入netsnmp的行命令: gcc -o redweb redweb.c -lkstat -lm -lsocket -ladm...
AT T/x86/asm语法
DJGPP使用ATT格式的汇编语法,和一般的intel格式的语法有点不同。主要不同点如下: ATT语法颠倒了源和目的操作数的位置, 目的操作数在源操作数之后。寄存器操作数要有个%的前缀,立即数操作数要有个$符号的前缀。存储器操作数的大小取决于操作码的最后一个字符。 它们是b(8-bit), w(16-bit)和l(32-bit)。 这里有一些例子。左边部分是att格式,右边是intel指令格式。 movw %bx, %ax// mov ax, bx xorl %eax, %eax// xor eax,...
GCC参数详解
GCC参数详解 [版本] -0.13 [声明] 这篇文档是我的关于gcc参数的笔记,我很怀念dos年代我用小本子,纪录所有的dos 命令的参数.哈哈,下面的东西可能也不是很全面,我参考了很多的书,和gcc的帮助. 不全的原因是,有可能我还没有看到这个参数,另一种原因是,我可能还不会用它 不过,我会慢慢的补齐的.哈哈 如果你要转在本文章请保留我的email(pianopan@beeship.com)和文章的全 面性. [介绍] gcc and g++分别是gnu的c c++编译器 gcc/g++在执行编译...
c++中函数重载的相关知识
函数重载是用来描述同名函数具有相同或者相似功能,但数据类型或者是参数不同的函数管理操作的称呼! 我们来举一个实际应用中的例子来说明问题:我们要进行两种不同数据类型的和操作为了实现它,在c语言中我们就要写两个不同名称的涵数来进行区分例如:int testa(int a,int b)和float testb(float a,floatb),这样字是没有问题,但是总有一点不好,这么两个具备极其相似操作函数我们却起两个不同的名字,这样子不是很好管理,所以c++为了方便程序员编写程序特别引入了函数重载的概念来解决...
C++ 类型转换
类型转换是将一种类型的值映射为另一种类型的值。类型转换实际上包含有自动隐含和强制的两种。 类型的自动隐式转换 C++语言编译系统提供的内部数据类型的自动隐式转换规则如下: 1. 程序在执行算术运算时,低类型可以转换为高类型。 2. 在赋值表达式中,右边表达式的值自动隐式转换为左边变量的类型,并赋值给它。 3. 当在函数调用时,将实参值赋给形参,系统隐式地将实参转换为形参的类型后,赋给形参。 4. 函数有返回值时,系统将自动地将返回表达式类型转换为函数类型后,赋值给调用函数。 在以上情况下,系统会进行隐式...
C/C++ 程序设计员应聘常见面试试题深入剖析
1.引言 本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见。 许多面试题看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函数都可看出面试者在技术上究竟达到了怎样的程度,我们能真正写好一个strcpy函数吗?我们都觉得自己能,可是我们写出的strcpy很可能只能拿到10分中的2分。读者可从本文看到strcpy函数从2分到10分解答的例子,看看自己属于什么样的层次。此...
实例讲解-C语言的分支结构
既然是实例分析,当然要有例子。好吧,先给出一个实验题:输入一个百分制成绩,要求输出该成绩是及及格。 很显然,应该使用分支结构将及格及不及格两种情况分别打...
C++ 虚基类
在《多继承》中讲过的例子中,由类A,类B1和类B2以及类C组成了类继承的层次结构。在该结构中,类C的对象将包含两个类A的子对象。由于类A是派生类C两条继承路径上的一个公共基类,那么这个公共基类将在派生类的对象中产生多个基类子对象。如果要想使这个公共基类在派生类中只产生一个基类子对象,则必须将这个基类设定为虚基类。 虚基类的引入和说明 前面简单地介绍了要引进虚基类的原因。实际上,引进虚基类的真正目的是为了解决二义性问题。 虚基类说明格式如下: virtual 继承方式基类名 其中,virtual是虚类的关...