我是C++的新手,请耐心等待。标题中的C++数组
基本上,我正在为我的课程之一创建标题,并且遇到了困难。
正在讨论的类的一个实例是由Main()函数创建的,现在当创建了这个类的实例时,我想传入Array长度。但是,如果它是在Header中静态声明的,我不能这样做,对吧?
任何解决方案?对不起,这可能很简单,但我来自Java背景,我试图不用Java方式来做事情。
谢谢。
我是C++的新手,请耐心等待。标题中的C++数组
基本上,我正在为我的课程之一创建标题,并且遇到了困难。
正在讨论的类的一个实例是由Main()函数创建的,现在当创建了这个类的实例时,我想传入Array长度。但是,如果它是在Header中静态声明的,我不能这样做,对吧?
任何解决方案?对不起,这可能很简单,但我来自Java背景,我试图不用Java方式来做事情。
谢谢。
如果你使用C++进行编程,并且希望声明一个可变大小的数组,那么你不希望使用“内置”C风格“数组”。这是一种坚果和螺栓工具。
您可能想用std::vector
代替。这是一个更灵活的类别,不需要在申报时指定尺寸。你可以看看教程在其网络上使用,但这里是从谷歌的随机一个:
http://www.yolinux.com/TUTORIALS/LinuxTutorialC++STL.html#VECTOR
的C++一个有趣的方面是,即使载体“库代码”,你可以有一个类可能在不修改编译器的情况下自己编写,它们允许使用括号等符号方便访问。从常见问题的一些优点和一些缺点,从这里提出的常见问题解答,需要双方用一粒盐:
http://yosefk.com/c++fqa/operator.html
虽然有许多使用C数组的裸机抽象一些性能优势,std::vector
几乎肯定比Java数组快,并且在很多时候都是更好的选择。
谢谢,我现在正在查看矢量。 –
如果我正确理解你,你想获得一个静态类型数组的大小,并将其传递给一个类?
如果这是正确的,看看http://ideone.com/JLoZY,这是我想到的第一件事。
基本上编译器会填写所需的模板参数,所以你不必担心它们。这可以很容易地采用在其他情况下使用
基本上,当程序被执行时,在类的一个实例被创建之前,我想通过cin获取数组的长度。 –
代码不足 –