gpt4 book ai didi

c++ - 全局变量和内部类有什么区别?

转载 作者:搜寻专家 更新时间:2023-10-31 02:09:24 24 4
gpt4 key购买 nike

#include "stdafx.h"
#include "CppUnitTest.h"
#include <iostream>
#include <cstdlib>


using namespace Microsoft::VisualStudio::CppUnitTestFramework;

namespace UnitTest2

{
TEST_CLASS(UnitTest1)
{
public:

int vector [6] = { 14, 10, 11, 19, 2, 25 };
bool ArrayAreEqual;
int static compare(const void * x1, const void * x2)
{
return (*(int*)x1 - *(int*)x2);
}

TEST_METHOD(TestMethod1)
{
qsort(vector, 6, sizeof(int), compare);
for (int ix = 0; ix < 6; ix++)
std::cout << vector[ix] << " ";
// TODO: Your test code here


int TestVector[6] = { 2,10,11,14,19,25 };
if (std::equal(std::begin(vector), std::end(vector), std::begin(TestVector)))
{
ArrayAreEqual = true;
}

else
{
ArrayAreEqual = false;
}
Assert::IsTrue(ArrayAreEqual);

}

};
}

在我的代码中,int vector [6] = { 14, 10, 11, 19, 2, 25 };只能用元素数 [6] 定义(否则显示不完整的类型是不允许的),但如果这个变量是全局的,它可以定义没有大小,如 int vector [] = { 14, 10, 11, 19 , 2, 25 };为什么会这样?

最佳答案

与所有其他初始化器不同,类内(非静态)成员初始化器可以是 overridden by a constructor's member initializer list .由于它们可能会被忽略,因此它们不能用于指定数组的长度。

关于c++ - 全局变量和内部类有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46610453/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com