C++ 和 Ruby 之间有很多相似之处,其中一些是:
就像 C++ 一样,在 Ruby 中:
- 与在 C++ 中一样,公共、私有和受保护在 Ruby 中的工作方式也类似。
- 继承语法仍然只有一个字符,但在 Ruby 中它是 < 而不是 :。
- C++ 中使用“命名空间”的方式,类似于我们可以将代码放入 ruby 中的“模块”中的方式。
- 在 Ruby 中发现了许多与在 C++ 中相似的运算符。
- 尽管更改了关键字名称以保护无辜者,但异常以类似的方式工作。
Ruby 和 C++ 之间的区别。
Ruby | C++ |
---|---|
在 Ruby 中,每个变量只是某个对象的自动取消引用名称, Ruby 中没有显式引用。 | 与 Ruby 不同,C++ 中有显式引用。 |
对象在 Ruby 中是强但动态类型的。 | 对象不像 Ruby 中那样是强类型的。 |
“构造函数”被称为初始化而不是类名。 | 在 C++ 中情况并非如此。 |
Array 和 Hash 只是两种容器类型。 | C++中有很多容器类型。 |
不需要 C++ 模板,也不需要类型转换。 | 需要 C++ 模板,需要类型转换。 |
它使用 self 而不是 this 。 |
使用 this 而不是self 。 |
迭代的方式稍有不同。在 Ruby 中,不使用单独的迭代器对象。相反,使用容器对象的迭代器方法,该方法采用将连续元素传递到的代码块。 | 向量是必需的,并且在 C++ 中使用,这使得编码变得容易。 |
库是一个单元测试,是 Ruby 的标准配置。 | 但在 C++ 中不可用。 |
Ruby 中没有类型转换。 | 在 C++ 中,类型转换是必需的。 |
有一些强制执行的案例约定。 | C++ 中没有这样的大小写约定,这使得它很容易。 |
可以随时重新打开一个类,也可以在 Ruby 中添加更多方法。 | 不能在 C++ 中做到这一点。 |
在 Ruby 中,某些方法以? 或! 结尾。它实际上是方法名称的一部分。 |
在 C++ 中方法的末尾不需要这样的符号。 |
在 Ruby 中,所有方法总是虚拟的。 | 方法在 C++ 中不是虚拟的。 |
多线程是内置的,但从 Ruby 1.8 开始,它们是“绿色线程”,而不是原生线程。 | 在 C++ 的情况下,多线程不是内置的。 |
用于调用方法的括号在 Ruby 中通常是可选的。 | C++ 中需要括号,而且是必需的。 |
不能直接访问成员变量——所有对公共成员变量的访问都是通过方法。 | C++中的成员变量可以直接访问。 |
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/264253.html