gpt4 book ai didi

c++ - 使用构造函数的参数初始化 vector 成员

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

是否可以用构造函数的初始化列表来初始化一个vector成员。我在下面给出了一些不正确的代码。

#ifndef _CLASSA_H_
#define _CLASSA_H_

#include <iostream>
#include <vector>
#include <string>

class CA{
public:
CA();
~CA();

private:
std::vector<int> mCount;
std::vector<string> mTitle;
};

.cpp文件中构造函数的实现

// I want to do it this way
#pragma once

#include "classa.h"


// Constructor
CA::CA(int pCount, std::string pTitle) :mCount(pCount), mTitle(pTitle)
{

}


// Destructor
CA::~CA()
{

}

在主文件中

#include "classa.h"
int main()
{
CA A1(25, "abcd");
return 0;
}

最佳答案

如果你想用传递给 CA::CA 的参数作为元素来初始化 vector 成员,你可以使用 list initialization (C++11 起),constructor of std::vector采用 std::initializer_list 将用于初始化。例如

CA::CA(int pCount, std::string pTitle) :mCount{pCount}, mTitle{pTitle}
// ~ ~ ~ ~
{
// now mCount contains 1 element with value 25,
// mTitle consains 1 element with value "abcd"
}

关于c++ - 使用构造函数的参数初始化 vector 成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46802037/

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