于是开始学习C++。我是一个相当不错(不是很好)的 Java 程序员,我访问了 C++ 参考站点,但我和我的合作伙伴仍然不知道是什么
list<int> & testSort(istream & idata, istream & sdata)
方法
到目前为止,列表对象的类型是 int testSort 是我们的类
我遇到了 & 符号和 istream 数据类型的问题。
此外,如果您能解释什么是矢量数据类型,那将不胜感激
于是开始学习C++。我是一个相当不错(不是很好)的 Java 程序员,我访问了 C++ 参考站点,但我和我的合作伙伴仍然不知道是什么
list<int> & testSort(istream & idata, istream & sdata)
方法
到目前为止,列表对象的类型是 int testSort 是我们的类
我遇到了 & 符号和 istream 数据类型的问题。
此外,如果您能解释什么是矢量数据类型,那将不胜感激
好吧,这里有一些东西要开始:
C++ 参考:如果您需要查找标准类类型,这将帮助您入门。
C++ 常见问题解答:如果您真的迷路了,这将对您有所帮助。其中大部分是边缘情况,但有些是最佳实践。
你已经在这里找到了,这对于奇怪的情况可能是最好的。
但是对于您的具体问题,请记住,在 C++ 中,您不需要将方法放在类中。有些“自由函数”类似于方法,但不属于任何类。所以testSort
不是一个类,也不是一个类的方法,而是一个独立的函数,很像 Java 中静态类的静态方法。
而且,list<>
类更像是一个链表,而不是Java的List<>
orArrayList
类型。该类vector<>
是 C++ 中类似数组的类所需要的。
至于&
符号,它表示一个引用,您应该在一些基本的 C++ 指南中查找有关值类型、指针和引用的解释。
istream 类型是流,我希望您从 Java 中熟悉它。上面的 C++ 参考在“IOStream 库”部分中有更多内容。
祝你好运,欢迎使用 C/C++!
istream & 表示通过引用传递。引用有点像指针,只是更安全一点。我建议你买一本好的 C++ 书。由于您已经了解基本编程并且可以编程 Java,因此您可能会喜欢Accelerated C++。这是一本非常好的书,将帮助您快速掌握惯用的 C++
&
表示C++ 中的引用。它与指针不同,因为它不能为 null 并且您不能对其进行指针运算。
向量和列表数据类型是标准模板库 (STL) 的一部分。它是 C++ 的一组标准数据结构,很像 java.util 集合用于 Java。
在这种情况下,&
符号表示它idata
是对类型对象的引用istream
。 是许多其他类型的输入流(、等)派生自istream
的标准类型。iostream
ifstream