c ++构造函数成员初始化:传递参数

他抵达乌曼加乌米利亚

在我的班级中,我有私有成员变量“s3_client”,如下面的代码片段所示

class GpuMatcher
{
private:
    Aws::SDKOptions options;
    Aws::S3::S3Client s3_client;
    ..
public:
    GpuMatcher();
    ..   
};

要配置“s3_client”,我需要创建一些其他依赖对象,如下所示:

Aws::Client::ClientConfiguration config;
std::string region=AppContext::getProperty("region");
Aws::String aws_region(region.c_str(), region.size());
config.region=aws_region;

Aws::S3::S3Client s3_client(config); //initialize s3_client

我的问题是,如何在类构造函数中初始化它?

GpuMatcher::GpuMatcher() : options() , s3_client(???) 
{

}
马修·布鲁彻

如果您需要将参数传递给它并存储配置(也许?):

class GpuMatcher
{
private:
    Aws::SDKOptions options;
    Aws::Client::ClientConfiguration config;
    Aws::S3::S3Client s3_client;

    static const Aws::Client::ClientConfiguration& populate_region(Aws::Client::ClientConfiguration& config);
    ..
public:
    GpuMatcher();
    ..   
};

然后:

GpuMatcher::GpuMatcher() : options() , s3_client(populate_region(config)) 
{
}

请注意此处的顺序,因为必须在客户端之前创建配置。

如果你不需要存储的配置做(如果它是构造一个传递值),不需在传递configpopulate_region(然后它是一个create_config)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

C ++ 11统一初始化:初始化列表和多参数构造函数之间的歧义?

如何在构造函数中初始化C ++对象成员变量?

类C ++的静态函数成员中的静态数据成员的初始化顺序

如何在C ++中初始化成员的构造函数参数

C ++ 11使可变参数构造函数了解初始化列表的初始化列表

如何在C ++ 11中初始化未初始化其构造函数中所有成员的类

C ++构造函数成员分配优化

构造函数成员初始化列表说明

继承:构造函数,在C ++ 11中初始化C之类的基类的数组成员

C ++使用构造函数参数初始化成员数组

在C ++中的自定义类的构造函数中初始化没有参数的静态const类成员

可以在C ++构造函数中初始化const成员吗?

如何使用std :: array构造函数参数C ++列表初始化const std :: array成员

在C ++中没有匹配的构造函数来初始化可变参数模板

C ++初始化程序列表成员仍在调用默认构造函数?

C ++中的初始化程序列表和类初始化。我有无参数构造函数,但仍必须使用初始化列表?

为什么显式声明的构造函数阻止使用C ++ 11初始化列表进行成员初始化?

C ++使用其他参数获取构造函数的初始化程序列表

使用初始化列表时检查传递给构造函数的参数-C ++

如何在Objective-C中使用自定义构造函数初始化自动成员

c ++在成员初始化中,在构造函数中传递新对象

如何在Objective C的参数化构造函数中初始化NSDate?

构造函数中私有成员初始化的差异(C++)

C++在初始化类实例时隐式调用类成员的构造函数

没有默认构造函数的成员对象的 C++ 初始化:

构造函数体中的 C++ 类 const 成员初始化

C++ 通过分配其他构造函数初始化的类成员来初始化类成员是一个坏主意吗?

C++ 构造函数中的成员初始化语法

C++ 默认成员初始化和构造函数