当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 外星代码生成术之逗号运算符 ix = o ns = "u
 

 

    摘要: 以下是字符串类型的含义(图示) +================================================================+ lp|c|w|t|str long pointer^ constant^ wide^ generic^ string^ ==================================================......
 ·windwos下的线程互斥和同步    »显示摘要«
    摘要: windwos下的线程互斥和同步 关键字: windows、线程、互斥、同步 摘要:分析了“互斥”与“同步”在概念上的差异,简单介绍了windows平台下的互斥、同步机制,详细讨论了生产者-消费者模型及其变形,以及容易出错的方面。 概述 网络多媒体应用系统同时包括网络传输、媒体采集和显示、媒体数据编解码、人机接口等多个紧密联系而又相对独立的组成部分,各部分之间需要并行协作才......


外星代码生成术之逗号运算符
  外星代码生成术之逗号运算符

缩减代码不意味着增加可读性,恰恰相反,过分的缩减代码反而会使代码更难懂,难以维护.本文不提倡滥用扭曲化的外星c语法,只是作为一个集趣式的记录,为初学c派系语言的读者简单介绍一下那些莫名其妙的代码是如何造出来的. 【程序编程相关:如何在自己的程序中加入宏的功能

  【推荐阅读:在应用程序中将OJB作为一个存储层使用(

 a = 1; 【扩展信息:在应用程序中将OJB作为一个存储层使用(

 c派系语言为我们提供了许许多的奇怪的运算符,最奇怪的运算符之一当数逗号运算符,它本身并没有太多实际意义“运算”,只是计算各个运算项的值,然后将最右边的运算项的值返回.但这一点使得我们有可能将多个表达式合成为一个:

b++;

c *= 4;

 

合并为:

a = i, b++, c *= i;

呵,好像意义不大,但如果是在循环中使用,就不一样了:

while (i < n)

{

a = i;

b++;

i++;

}

可简写为:

while (a = i++, b++, i < n) ;  /* 注意分号不能少 */

在c++中,由于使用cout等流对象进行的输出语句实际上也是一个表达式,所以对于如下常见的打印整个数组的值的代码:

for (i = 0; i < size; ++i)

     cout << a[i] << endl;

使用逗号运算符并利用好自加运算的特性,可以简写为:


...   下一页
    摘要: 驱动对象 设备对象 设备栈 乱杂谈......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE