繁体   English   中英

C++ 将 char** 分配给字符串数组

[英]C++ Assign char** to an array of strings

我知道您可以将字符数组分配给字符串:

#include <string>
using std::string;

char foo[] = "foo";
string str = foo;

但是如何将字符数组 arrays (char**) 分配给字符串数组?

给你

#include <iostream>
#include <vector>
#include <iterator>

int main() 
{
    const char * a[] = { "Hello", "World" };

    std::vector<std::string> v( std::begin( a ), std::end( a ) );

    for ( const auto &s : v ) std::cout << s << ' ';
    std::cout << '\n';

    return 0;
}

程序 output 是

Hello World 

或者

#include <iostream>
#include <vector>

int main() 
{
    const size_t N = 2;
    const char ** a = new const char * [N] { "Hello", "World" };

    std::vector<std::string> v( a, a + N );

    for ( const auto &s : v ) std::cout << s << ' ';
    std::cout << '\n';

    delete [] a;

    return 0;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM