2022-06-16 10:36
我还在gcc4.85
2022-06-13 15:58
C++编译之后,二进制完全没法去其他平台运行,甚至相同平台不同版本编译器都不行。因此引入了二进制兼容,最后我们得到了JAVA虚拟机
2022-06-13 13:58
还是喜欢c++
2022-06-09 11:17
C++ lambda语法特殊在捕获列表,能精确控制每个捕获的变量是值或引用。其他语言可能本身就不需要区分值或引用,或者能很容易把一个包装成另一个
2022-06-13 13:51
其他语言不是不区分, 而是为了避免麻烦通常只用"值"或"引用"之一, 而且借助GC, 一律使用"引用"也不容易写出问题.
2022-06-16 09:38
你说的其它语言是啥?像java、javascript都区分值或引用啊,基础类型包括String都是值传递,对象都是引用传递。
2022-06-16 14:50
我说的值和引用是按C++来定义的,“值”指对象,“引用”指对象指针。(其他语言可能本身也有值或引用的概念所以容易引起歧义。)

class A{};
class B{ A a; };
class C{ A* a; };
B的生命周期始终长于A; 而C的生命周期和A是独立的。
能区分BC的语言属于区分值和引用的语言,不能区分BC的属于不区分值或引用。

C/C++这类语言属于区分值和引用的一类;java/JavaScript/swift属于不区分的一类。
2022-06-16 14:54
纠错:B的生命周期始终“短于”A
2022-06-09 10:39
一直想知道 lambda 表达式为什么不和其他 语言统一成 ()=>{} 费用 []() {} 的形式
2022-06-16 23:18
正如另一层楼所言,是为了控制捕获的变量时所使用的方式。如果只用()=>{},那就没地方写捕获方式了。
2022-06-06 12:30
D语言吊打
2022-06-06 13:04
生不逢时
rz
2022-06-06 09:00
std::还是不太方便啊,不如改成std.来的简洁。这样 Std.cout("hello world")看起来就清爽很多了。最终我们就得到了 java 。
2022-06-06 09:30
有道理,我们还能引入gc,让内存管理更安全更方便,最终我们得到了java
2022-06-08 17:38
得到了D
2022-06-09 13:17
ms 说,也可以叫 c+#.
2022-06-06 11:44
首字母大写看着恶心
2022-06-06 12:01
最终形态就是 D语言了。
2022-06-14 12:38
C++的兼容性在很多人看来是历史包袱,但更多是历史成果的积累,当年 WB 在 D 语言上就犯了一个致命的错误:D2不再兼容D1,从而使一些在D1时非常优秀的库比如 tango 彻底玩完,tango 用起来象JAVA一样简单,而后来AB加入后整了一堆象C++的东西,很多都是实用价值不高。
回复 @
{{emojiItem.symbol}}
返回顶部
顶部
返回顶部
顶部