以下声明是什么意思?

时间:2014-04-11 19:33:53

标签: c++ declaration statements

任何人都能简单解释一下这些陈述的含义是什么吗?

1) const char hi [] { 'H', 'E', 'L', 'L', 'O', '\0' }; 2) ifstream fileObjs [3]; 3) long double bigNums [10000] = { 10000 }; 4) char* strRefs [2000];

5) int foo(); 6) double foo(double, double); 7) foo(24); 8) int& foo (int& chat);

另外,我有可能找到像5,6,7,8这样的陈述? 提前致谢

2 个答案:

答案 0 :(得分:2)

1)这是一个名为“hi”的字符数组,初始化为字符串“HELLO \ 0”

2)这是一个包含3个ifstream对象的数组

3)这是10000个长双打的数组,第一个是10000

4)这是一个包含2000个字符指针的数组

5)这是一个名为foo的函数的声明,没有参数,返回一个int。

6)这是一个名为foo的函数的声明,它接受两个类型为double的参数,返回一个double。

7)这是对函数名称foo

的调用

8)这是一个名为foo的函数的声明,它接受一个整数的引用并返回对整数的引用。

您可能会在文件中找到语句5,其中函数定义低于使用该语句的另一个函数。在这种情况下,使用foo的函数需要在编译器验证之前知道它的签名。这有时被称为前向声明。 同样适用于6& 8

7可以在大多数程序中找到,其中需要另外一个功能来完成一些工作。这通常用于将大量代码分解为更多可管理或可重用的块。

答案 1 :(得分:0)

为了在C ++中做任何事情,你需要知道这些陈述的含义。如果您正在尝试学习语言并实际构建甚至只是破解某些东西,那么您最好不要理解这些核心概念,而不是获得快速而肮脏的答案。任何在线参考或书籍都应该有关于函数和数组的章节,所以也许你可以从那里开始。