现在位置: 首页 > 所有2012年发表的文章
1. using 声明:一个using声明一次只能引入一个命名空间成员,从using声明点开始,直到包含该using声明的作用域结尾,声明的名字仅仅在该作用域是可见的,外部作用域中相同的名字被屏蔽,它可以出现在全局作用域,局部作用域或者命名空间作用域中,类中的using声明局限于使用其基类中定义的名字; using声明将名字直接放入出现using声明的作用域,好像using声明是命名空间成员的局部别名一样,这种声明是局部化的,名字仅仅在us...
阅读全文
2012-12-04 23:13 工业·编程 ⁄ 共 897字 暂无评论
作用域: 作用域和可见性:作用域和可见性可以说是对一个问题的两种角度的思考。 作用域就是讲一个变量或函数在代码中起作用的范围,或者说,一个变量或函数的“有效范围”。 代码中的变量或函数,有的可以在整个程序中的所有范围内起作用,这称为“全局”的变量或函数。而有的只能在一定的范围内起作用,称为“局部”变量。    一对{}括起来的代码范围,属于一个局部作用域    在局部作用域内定义的变量,其有效...
阅读全文
2012-12-04 23:08 工业·编程 ⁄ 共 2454字 暂无评论
1.作用域        作用域是这样一个区域,标识符在程序的这个区域内是有效的。C++的作用域主要有四种:函数原型作用域、块作用域、类作用域和文件作用域。        a.函数原型作用域        函数原型大家还记得吗?比如:void fun(int x);这个语句就是函数原型的声明。函数原型声明中的形参的作用范围就是函数原型作用域。f...
阅读全文
2012-12-04 23:06 工业·编程 ⁄ 共 1674字 暂无评论
  今天在MFC工程中使用了WM_USER定义用户消息,从文档中得知ON_MESSAGE的消息处理函数应该符合如下格式:afx_msg LRESULT (CWnd::*)(WPARAM, LPARAM)。其中的作用域"CWnd::"引起了我的好奇。我们知道,消息处理函数只能在CWnd的派生类中定义或者重载,其作用域必然是CWnd派生类。为此我做了个实验: class Parent { }; class  Child: public Parent { public:     int Func(in...
阅读全文
2012-12-04 23:04 工业·编程 ⁄ 共 3125字 评论 1 条
不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我就不加修改的引用过来了,以下是引用的内容(红色部分是我自己写的内容)。 用途一: 定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的...
阅读全文
    成员函数的重载、覆盖(override)与隐藏很容易混淆,C++程序员必须要搞清楚概念,否则错误将防不胜防。 8.2.1 重载与覆盖     成员函数被重载的特征: (1)相同的范围(在同一个类中); (2)函数名字相同; (3)参数不同; (4)virtual关键字可有可无。 覆盖是指派生类函数覆盖基类函数,特征是: (1)不同的范围(分别位于派生类与基类); (2)函数名字相同; (3)参数相同; (4...
阅读全文
2012-12-04 22:56 工业·编程 ⁄ 共 469字 暂无评论
一、普通成员变量 普通成员变量,不能在类声明中初始化。 二、静态成员变量 即类成员变量。这种变量也不能在类声明中初始化。 三、静态常量整型数据成员 静态常量整型数据成员可以在类的声明中初始化,而且只有这种变量可以在类的声明中定义。 class Base  {  public:      Base(){};  private:      int a;      int b;   ...
阅读全文
2012-12-04 22:51 工业·编程 ⁄ 共 1175字 暂无评论
在C++中,涉及到作用域的语法很多,经常混淆。所以对作用域与作用域作一个总结,注意这个总结还不完整,当遇到新的语法时再继续补充。 一、全局作用域(global scope) 概念:定义在函数外部的名字具有全局作用域。具有全局作用域的名字可以在整个程序中访问,即使不同文件也可以访问。 二、如何访问全局作用域的变量? 1. 变量在本文件中定义 直接访问。 比如: // file_1.cpp  int counter;   /...
阅读全文
2012-12-04 22:40 工业·编程 ⁄ 共 3736字 暂无评论
    随着诸如代码重构和单元测试等方法引入实践,调试技能渐渐弱化了,甚至有人主张废除调试器。这是有道理的,原因在于调试的代价往往太大了,特别是调试系统集成之后的BUG,一个BUG花了几天甚至数周时间并非罕见。而这些难以定位的BUG基本上可以归为两类:内存错误和并发问题。而又以内存错误最为普遍,即使是久经沙场的老手,也有时也难免落入陷阱。前事不忘,后世之师,了解这些常见的错误,在编程时就加以...
阅读全文
2012-12-04 22:38 工业·编程 ⁄ 共 2835字 暂无评论
TCP/IP协议同ISO/OSI模型一样,也可以安排成栈形式。但这个栈不同于ISO/OSI版本,比ISO/OSI栈少,所以又称之为短栈。另外,需要知道的是:TCP/IP协议栈只是许多支持ISO/OSI分层模型协议栈的一种,是一个具体的协议栈。 对于TCP/IP协议栈划分为几层更合适,多年来专家们一直未达成共识,大部分对TCP/IP协议栈的描述都假定它占据了协议结构的4到5个功能层。下面我们对这两种主流的分层方法分别进行描述。 1 基于4层的TCP/IP协议栈...
阅读全文