【问题标题】:Generate a custom vector name [closed]生成自定义矢量名称 [关闭]
【发布时间】:2022-06-10 22:05:52
【问题描述】:

我想用函数生成带有随机名称的vector

通常vector 声明自己并像这样使用。

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

using std::cout;
using std::end;
using std::string;
using std::vector;

int main(){

     int     I_i{};
     int64_t I64_VectorSize{};
     string  S_Word{};
 
     static vector<string>Liste{};
     
     Liste.push_back(S_Word);

     I64_VectorSize = Liste.size();

     for(I_i = 0; I_i < I64_VectorSize;++I_i){
          cout << Liste[I_i] << end;
     }

     Liste.clear();

}

我想创建一个function 来创建一个带有随机名称的vector 列表

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

using std::cout;
using std::end;
using std::string;
using std::generate_n;

string uniqueName(){

    auto randchar = []() -> char{
        const char charset[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
        const size_t max_index = (sizeof(charset) - 1);
        return charset[ rand() % max_index ];
    };

    string str(4,0);
    std::generate_n( str.begin(), 4, randchar );
    return str;

}


string generator_vector_with_custom_name(string Name){

     /*....*/
     //return VectorName;
}

int main(){

     /*Random name*/
     string Name = uniqueName();

     /*call fonction to generate a vector name*/

     //static vector<string>generator_vector_with_custom_name(Name){};

     /*
        to generate a vector with a custom name
        static<string>Vjk{};
        static<string>Rdl{};
        static<string>NEs{};
        ....
     */
}

【问题讨论】:

  • 你为什么要这个?当你想要“命名向量”时,考虑使用struct foo { std::string s; std::vector&lt;int&gt; v; };std::map&lt;std::string,std::vector&lt;int&gt;&gt;
  • 向量没有名字。只有变量有名称,程序运行时不能创建新变量。幸运的是,您还可以将矢量放在其他地方,例如地图内。
  • 在您的示例中不清楚您希望在运行时确定的某个名称如何(或为什么)神奇地作为变量名称出现在您的代码中

标签: c++ vector


猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-09-08
  • 2021-08-23
  • 2019-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-20
相关资源
最近更新 更多