码迷,mamicode.com
首页 > 其他好文 > 详细

数组为何这么有用?

时间:2014-09-29 14:19:40      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:style   使用   for   sp   c   代码   r   js   函数   

Lisp只用原子和表就构建了整个世界,其实表和数组是等价的(不完全)。JS的关联数组是红黑树,关联数组并不是C数组的超集,因为C数组可以当成一片连续内存使用。也许有用的不是数组,而是运算符[],C++只用重载[]就实现了数组。[]只是一个函数调用而已,一种函数调用的简写形式。这种简写或者说语法糖非常重要,因为它让代码的可读性更好。[]是一个运算符重载,即a[1]会变换为标准的函数调用operator[](a,1)。再看看其他的运算符,1+2变换为operator+(1,2)。两者的共性是变换,变换就是一种宏。我很早就意识到C++的模板其实是一种宏(这点在我的代码里也可以看出),也就是说宏是模板的超集。现在居然发现运算符重载也是一种宏!我一直以为模板和运算符重载才是C++的精髓,它们构建了整个C++世界。我错了,宏才是C++的根本。难道宏就是世界的终极原子?至少C++的if、for目前还不是宏,我试试能不能把它们变成宏。

数组为何这么有用?

标签:style   使用   for   sp   c   代码   r   js   函数   

原文地址:http://blog.csdn.net/roundsheep/article/details/39667947

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!