博文
收缩品牌,不随意扩张(2006-07-02 23:35:00)
摘要:支撑观点:
1、 扩展法则
品牌的影响力与涵盖范围恰成反比。
如果想在消费者心目中建立强大的品牌,就应该浓缩精简品牌所覆盖的产品范围,而绝非无谓的扩张。
不同产品冠以同样的品牌,只会削弱该品牌名称的震撼效应。
2、 收缩法则
集聚焦点,能加强品牌。
成为某领域的主导品牌,必须了解基本的“五部曲”:①聚拢焦点;②深度库存;③降低成本;④压低售价;⑤主导产品类别。
3、 领域法则
一个主导品牌推动的不是该品牌,而是其所属的整个商品领域的发展。
开创之初,就要为品牌塑造这样的形象:该品牌是第一个,是领头羊,是行业先锋,它独一无二。
推广新领域:一个主导品牌所能拥有的合理的最大市场份额不会超过50%。不要与有竞争力的同类品牌抗衡,应该与有竞争实力的其他领域一较高下。
4、 外延法则
毁灭品牌最简单的办法就是把它套在所有商品上。
一个强势品牌应该占有50%的市场份额。如果市场份额从你身边溜走,稳住阵脚,保持冷静,推出第二品牌。如果你还能稳稳把持着市场份额,则按兵不动,继续建设你的品牌吧。
5、 伙伴法则
要开创一个新的商品领域,一个品牌必须欢迎其他品牌的加盟。
每个商品领域似乎都被两个大品牌控制着。第三个品牌通常都是多余的看客。除非一个品牌是政府特许的垄断品牌,没有哪个品牌能独霸整个市场。
6、 副品牌法则
副品牌会为你向消费者传递一个截然不同的理念。
7、 姊妹法则
要让同一家庭中的各个品牌相处甚欢,关键在于赋予每个品牌独特的身份。
聚集于一个常规产品领域。
选取一个单一特性作区分,如价格、年龄、热量、性别或口味等。你一定要尽量避免特性迭交。让每个品牌保持完全的首创性和特殊性。
在品牌之间建立起严格的区分。
选用不同的......
虚函数的几点说明(2006-07-02 23:31:00)
摘要:(1)、把基类中的成员函数定义为虚函数后,在其派生类中定义的虚函数必须与基类中的虚函数同名,且参数的类型、顺序、个数必须一一对应,函数的返回值的类型也要相同。若函数名相同,但参数的个数或者参数的类型不同时,属于函数的重载,而不是虚函数。
(2)、必须使用基类的指针变量来调用虚函数时才能实现动态多态性。基类指针指向不同的派生类对象时,调用该指针所指向的虚函数时,尽管调用的形式一样,但实际调用的函数是不同的。
(3)、虚函数必须是类的成员函数,不能是友元函数,也不能是静态的成员函数。
(4)、在其派生类中没有重新定义基类中的虚函数时与一般的成员函数一样,当调用这种派生类对象的虚函数时,仍调用其基类中的虚函数。
(5)、可把析构函数定义为虚函数,但不能将构造函数定义为虚函数。把析构函数定义为虚函数时,释放基类指针所指向的动态对象时,实现撤消动态对象时的多态性。
(6)、调用虚函数比调用一般的成员的执行速度要慢一些。实现虚函数调用的机制是间接的,在程序执行期间根据基类指针所指向的实际对象,才能确定应该调用的成员函数,这种调用效率要低一些。
......
子类型关系的基类和派生类对象的赋值兼容规则(2006-06-25 21:29:00)
摘要:(1)、派生类的对象可以赋值给基类的对象,即把派生类对象中从基类继承来的成员,逐个赋值给基类对象的成员。
(2)、派生类的对象可以初始化基类的引用。
(3)、派生类的对象的地址可以赋值给指向基类的指针。......
const型指针变量(2006-06-15 23:44:00)
摘要: 有三种不同的方法来说明const变量,其作用和含义都是不同的。
第一式:将const放在指针变量的类型之前。表示指针变量所指向的数据是一个常量,即不能改变指针变量所指向的数据值,但可以改变指针变量的值。
int x, y;
const int *p = &x;
*p = 24; // ERROR
p = &y; // OK
第二式:将const放在指针变量的*后。表示指针变量的值是一个常量,即不能改变指针的值,但可以改变指针变量所指向的数据值。
int n, i;
int *const p = &n;
*p = 25; // ok
*p = &i; // error
第三式:把一个const放在指针变量的类型之前,将另一个const放在指针变量的*后。表示指针变量的值是一个常量,指针变量所指向的数据也是一个常量。二者都不能改变。
int j, k;
const int *const pp = &j;
*pp = 25; // error
pp = &k; // error
const类型的指针主要用做函数的参数,以限制在函数体内不能修改指针变量的值,或不能修改指针所指向的数据值。......
往事随风(2006-06-05 09:01:00)
摘要: 早晨打开电脑,登上QQ,正好老兄也在,无意中聊起,竟有这么巧的事,我在高中唯一追过(暗恋而已)的一个女孩子,竟然和她在一个班上,感叹地球真小呀,她竟然有了男朋友,才发现自己落伍了,(阿冰,加油!)或许是地球转速有问题了吧,想了很久(半分多钟)才想起她的名字——雅儒,多么好的名字呀,一个优秀的女生,和我应该挺配的(别打我,脸皮厚),只怪自己不争气,没勇气,错过了。
记得第一次说话是微机的毕业汇考,她替6个人考试(而只是因为她家有电脑),正好我和她挨着(都是给自己考,缘分!),帮她做了半天,结果自己只得了个C(差点挂了),但是至少有一个和她接触的机会了,要是现在我肯定不会放弃,但当时还小,不懂事,所以依然内向着。总是在她不在的时候去找她,当真的想找她的时候,原来她真的不在了。
世上真的有鬼神吗?在我重新喜欢上一个人的时候,竟然冒出了这件事,看来是我做人很厚道,老天爷看重我,让我记得以前的痛,不再后悔。
其实,我也觉得我在上大学后变了很多,性格也变开朗了许多,我知道只有真正的付出了才会有回报,所以我选择付出。
哈哈,未来的老婆,等着我吧。......
C89和C99标准比较(2006-05-14 18:08:00)
摘要: 1、增加restrict指针
C99中增加了公适用于指针的restrict类型修饰符,它是初始访问指针所指对象的惟一途径,因此只有借助restrict指针表达式才能访问对象。restrict指针指针主要用做函数变元
,或者指向由malloc()函数所分配的内存变量。restrict数据类型不改变程序的语义。
如果某个函数定义了两个restrict指针变元,编译程序就假定它们指向两个不同的对象,memcpy()函数就是restrict指针的一个典型应用示例。C89中memcpy()函数原型如下:
void *memcpy (void *s1, const void *s2, size_t size);
如果s1和s2所指向的对象重叠,其操作就是未定义的。memcpy()函数只能用于不重叠的对象。
C99中memcpy()函数原型如下:
void *memcpy(void *restrict s1, const void *restrict s2,size_t size);
通过使用restrict修饰s1和s2变元,可确保它们在该原型中指向不同的对象。
2、inline(内联)关键字
内联函数除了保持结构化和函数式的定义方式外,还能使程序员写出高效率的代码.函数的每次调用与返回都会消耗相当大的系统资源,尤其是当函数调用发生在重复次数很多的循环
语句中时.一般情况下,当发生一次函数调用时,变元需要进栈,各种寄存器内存需要保存.当函数返回时,寄存器的内容需要恢复。如果该函数在代码内进行联机扩展,当代码执行时
,这些保存和恢复操作旅游活动会再发生,而且函数调用的执行速度也会大大加快。
函数的联机扩展会产生较长的代码,所以只应该内联对应用程序性能有显著影响的函数以及长度较短的函数。
3、新增数据类型
_Bool
值是0或1。C99中增加了用来定义bool、true以及false宏的头文件夹<stdbool.h>,以便程序员能够编写同时兼容于C与C++的应用程序。在编写新的应用程序时,应该使用
<stdbool.h>头文件中的bool宏。
_Complex and _Imaginary
C99标准中定......
我在雷区下了好多东东(2006-05-04 22:38:00)
摘要: 今天,我在迅雷的雷区下了几百兆的电子书,也不知道哪天才能看完,唉,慢慢看吧。
仔细一想,也许有很多我这样的人,先把东西拿来,什么时候用就暂时不管了,反正总有用到的一天。其实,像我这类人,只要坚持一下,就能把下载的书看完,所以,我会坚持一点一点地看完,可能会用很长时间,但肯看就总有看完的一天。......