原文地址:http://blog.csdn.net/kindazrael/article/details/8108868在 C 语言中,预处理代码 (Preprocessor) 是非常强大的工具,能让你的代码变得更加易读和易改。利用预处理代码,你可以重新定义代码的一部分,使得你的代码更适合你的风格。...
分类:
其他好文 时间:
2014-07-26 00:57:46
阅读次数:
201
一个眼神,一个手势,你就可以控制所有的智能终端设备,实现无障碍的人机交互。AMD的环绕计算将这种梦想变成了现实,也将重新定义计算的未来。在一座360度的穹顶剧场内,一群动画中的怪兽正在弹奏着各类乐器,而你可以用手势来控制这些怪兽的行动。这不是天方夜谭,而是AMD利用..
分类:
其他好文 时间:
2014-07-25 11:32:42
阅读次数:
212
1.配置环境
1.引入jar包:hive-exec-0.8.0.jar 和 hadoop-core-0.20.2.jar
2.编写udf函数
1.extends UDF
2.重新定义UDF的evaluate函数。
package com.qunar.hiveudf;
import java.text.SimpleDateFormat;
import java.util.Calen...
分类:
其他好文 时间:
2014-07-23 20:58:47
阅读次数:
217
当一个模块引用另外一个模块时,高层模块可以改变低层模块用parameter定义的参数值,改变低层模块的参数值可采用以下两种方式: 1)defparam 重定义参数 语法:defparam path_name = value ; 低层模块的参数可以通过层次路径名重新定义,如下例:module t...
分类:
其他好文 时间:
2014-07-22 23:19:57
阅读次数:
1519
A.hstruct A{ int a; int b;}; B.cpp在B.cpp里面用到这个结构体有两种方法1.自己定义一个一模一样的结构体struct A{};2.包含A.h头文件 第一种感觉有点蛋疼同样的结构体定义两次,是不是重复了第二种包含别人的头文件,会带来编译的小麻烦,而且这样...
分类:
编程语言 时间:
2014-07-18 23:23:26
阅读次数:
263
1.运算符重载定义:
C++中预定义的运算符的操作对象只能是基本数据类型。但实际上,对于许多用户自定义类型(例如类),也需要类似的运算操作。这时就必须在C++中重新定义这些运算符,赋予已有运算符新的功能,使它能够用于特定类型执行特定的操作。运算符重载的实质是函数重载,它提供了C++的可扩展性,也是C++最吸引人的特性之一。
运算符重载是通过创建运算符函数实现的,运算符函数定义了重载的运...
分类:
其他好文 时间:
2014-07-17 20:33:17
阅读次数:
287
经验:private 继承意味 is-implemented-in-terms of。它通常比 composition 的级别低。
但是当 derived class 需要访问 protected base class 的成员,或需要重新定义继承而来的 virtual 函数时,这么设计是合理的
经验:和 composition 不同, private 继承可以造成 empty base 最优化。这对致力于“对象尺寸最小化”的程序库开发者而言,可能很重要
示例1:虽是 Empty class,但却不仅要花...
分类:
编程语言 时间:
2014-07-15 22:41:05
阅读次数:
284
1.virtual 函数版本
class GameCharacter{
public:
virtual int healthValue() const; //返回人物的健康指数, derived classes 可重新定义它
};
2.使用 non-virtual interface 手法,那是 Template Method 设计模式的一种特殊形式。
让客户通过 public non-virtual 成员函数间接调用 private virtual 函数
class GameCharacter{
pu...
分类:
编程语言 时间:
2014-07-15 22:36:18
阅读次数:
364
经验:绝对不要重新定义继承而来的 non-virtual 函数 --> Item 7 "为多态基类声明 virtual 析构函数" 是本条款的特例
示例:
class B{
public:
void mf();
//...
};
class D: public B{
public:
void mf(); // 遮掩了B::mf,Item 33 名称遮掩规则
}
D x;
B *pB = &x;
D *pD = &x;
pB->mf(); // 调用 B::mf
pD->mf(); // 调用 ...
分类:
编程语言 时间:
2014-07-12 19:09:10
阅读次数:
234
十四、重载操作符与转换
1. 重载操作符的定义
重载操作符必须具有至少一个类类型或枚举类型的操作数,这条规则强制重载操作符不能重新定义用于内置类型对象的操作符含义。
int operator +(int, int) // 错误,内置数据类型不能重载操作符
重载操作符,操作符的优先级、结合性或操作数数目不能改变。重载操作符并不保证操作数的求值顺序,不再...
分类:
编程语言 时间:
2014-07-12 17:06:11
阅读次数:
329