免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: OwnWaterloo
打印 上一主题 下一主题

[C] 思考题:语言是工具?重要是思想?那如何表达思想?(修改版) [复制链接]

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
81 [报告]
发表于 2011-10-26 17:53 |只看该作者
回复 77# starwing83

coroutine与 cpp2lua/lua2cpp 有神马关系……
你说的那个只是分析 c/c++ 的 struct 定义吧? 能分析c/c++语意么?
而且……  我也不想在 c或者c++ 上面添东西了……  c不适合, 而c++已经很乱了……

论坛徽章:
0
82 [报告]
发表于 2011-10-26 20:10 |只看该作者
回复 70# starwing83

突然发现我朝人占便宜了……
“函数”和“功能”用英文表达试试。

论坛徽章:
0
83 [报告]
发表于 2011-10-26 20:18 |只看该作者
现在是在讲C/C++的局限么。
我再歪下楼,举个比函数还要普遍的例子好了。
比如说,显式指定表达式A和B之间没有求值顺序依赖。
也就是说,一段代码,既可以表示A, B;,又可以表示B, A;的语义,unspecified。
看起来似乎是可以的,不过我整不出来……

  1.         template<typename... _type>
  2.         constexpr int
  3.         _unsequenced(_type&&...) nothrow
  4.         {
  5.                 return 0;
  6.         }
  7.         #define unsequenced _unsequenced
复制代码
拿void没办法了……

论坛徽章:
0
84 [报告]
发表于 2011-10-26 20:33 |只看该作者
回复  三月廿七

>> C++ 一心想摈弃指针,只不过Java 做的更彻底一点, 这么个壮举竟然还被人经常视为软 ...
OwnWaterloo 发表于 2011-10-26 12:21


c++ 不是添加了"引用"的句法吗? 然后我就据此自由发挥了

论坛徽章:
0
85 [报告]
发表于 2011-10-26 20:43 |只看该作者
回复 84# 三月廿七

哎,又想到变量与变量名的故事了。
名字一样的东西显然不见得就是同一样东西。
C++和Java的引用有多大可比性呢。

论坛徽章:
0
86 [报告]
发表于 2011-10-26 20:51 |只看该作者
本帖最后由 三月廿七 于 2011-10-26 21:00 编辑
回复  三月廿七

哎,又想到变量与变量名的故事了。
名字一样的东西显然不见得就是同一样东西。
C++和 ...
幻の上帝 发表于 2011-10-26 20:43

Java 的对象变量语法上类似于引用, 本质上是一个指针,
相当于c++的对象指针, c++的引用本质上不是一个指针吗??

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
87 [报告]
发表于 2011-10-26 21:03 |只看该作者
回复 82# 幻の上帝

这吐槽

确实…… 若用sw若想用英文描述就麻烦了……
改用subroutine?

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
88 [报告]
发表于 2011-10-26 21:05 |只看该作者
回复 84# 三月廿七

C++增加引用绝对不是为了摒弃指针……  不要被那些"C++里使用引用比指针更好"的言论蒙蔽了……
记得(好像出自设计与演化那书)是为了让用户定义类型能更内建类型。

比如,实现一个任意精度整数类: integer 。
integer a, b;

有引用的情况下, 两数相加可以 a+b 。
无引用的情况下, 就只能 &a + &b ……

如此一来……  似乎 c = a+b 要写成  c = &(&a+&b) 才可以……

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
89 [报告]
发表于 2011-10-26 21:10 |只看该作者
本帖最后由 OwnWaterloo 于 2011-10-26 21:11 编辑
Java 的对象变量语法上类似于引用, 本质上是一个指针,
相当于c++的对象指针, c++的引用本质上不是一个指针吗??
三月廿七 发表于 2011-10-26 20:51


说c++的引用本质上是个(C的)指针,在很多情况下还算说得通……

但java的引用肯定不是裸(C的)指针,要比指针复杂得多。

记得java的gc会发生这样的情况:
1. heap: [object1)[object2)[object3)
2. 假设 object2 被回收
3. 记得是有可能发生 [object1)[object3) , 也就是移动 object 3 的位置

那么,所有指向object3的引用都需要修改。 这种引用可不是一个(C的)指针就可以简单实现的……

论坛徽章:
0
90 [报告]
发表于 2011-10-26 21:15 |只看该作者
回复 86# 三月廿七

C++的引用类型可以看成操作受限的指针。但据我所知,它的作用并非是完全取代指针的功能。
又怎么得到“C++一心想摈弃指针”的结论呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP