【发布时间】:2011-08-03 03:40:20
【问题描述】:
我对 C++ 和 Qt 很陌生,但我非常擅长 C#/Java。
关键是我喜欢跨平台,但我对 Qt 感到困惑。 std::vector 不是已经跨平台了吗,Qt 不是提供了一个非跨平台的东西吗?
还有File 和QFile 有何不同?
最好有链接,谢谢:)
【问题讨论】:
-
没有跨平台的
Vector。我想你的意思是std::vector。 C++ 区分大小写。 -
也没有与
QFile相比的File。FILE*完全不同。 -
Qt 是旧的,并且提供的组件曾一度在所有编译器上都不可用。新代码中的那些用处不大。
-
补充@Bo Persson 的答案:Qt 容器甚至不是 64 位干净的。他们使用
int来表示大小,因此他们在 x86-64 上存储的元素永远不会超过 2^31。 -
@shbk:只要类的方法/ivars 是使用 int 定义的,只要将真正的 64 位值传递给它就不会获得任何 64 位的好处,因为它们会丢失它通过的第一个隐式转换。