| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1208 人关注过本帖
标题:std::vector<std::string>、 array<String^>^、 List<String^>^ 三者 ...
只看楼主 加入收藏
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:406
专家分:190
注 册:2021-4-9
结帖率:97.26%
收藏
已结贴  问题点数:20 回复次数:6 
std::vector<std::string>、 array<String^>^、 List<String^>^ 三者
std::vector<std::string>、  array<String^>^、 List<String^>^  三者区别是什么???
图片附件: 游客没有浏览图片的权限,请 登录注册


图片附件: 游客没有浏览图片的权限,请 登录注册


图片附件: 游客没有浏览图片的权限,请 登录注册



array<String^>^ 初始化后字符串就固定的。不能再添加了!!!
std::vector<std::string>和List<String^>^随时可以添加字符串。。。。
 为什么 std::vector<String^>没有语法错误提示。只要一运行就出 &&  不能在类型 '_Ty' 上使用此间接寻址

好苦恼,就像学生在解题,习题集后面就有答案,
可是学生,就是找不到解出答案的方法。

for(auto i : StrArr1) 、 for each(auto i in StrArr1) 二者区别是什么???

为什么 std::vector<std::string>可以使用for(auto i : V) 而 array<String^>^和 List<String^>^ 只能用 for each(auto i in V)。

理论书籍抽象如天书,理论视频好似催眠曲。
学习一会,不是头昏脑涨,就是昏昏欲睡。

再小的程序,只能看实例代码“照猫画虎”。
语法上改动九牛一毛,寻找实例三天三夜。

第3张图中90行、91行如何写成一行。。。
List<String^>^ StrArr1 = ???如何写。。。。
程序代码:
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
    {
        array<String^>^ StrArr1 = {"123abc", "456def", "789ghi"};
        List<String^>^ StrArr2 = gcnew List<String^>((Generic::IEnumerable<String^>^)StrArr1);
        for each(auto i in StrArr2)
        {
            textBox1->Text += i + "\r\n";            
        }
    

        array<String^>^ StrArr1 = {"123abc", "456def", "789ghi"};
        List<String^>^ StrArr2 = gcnew List<String^>((Generic::IEnumerable<String^>^)StrArr1);


如何合并成一句,  List<String^>^ StrArr1 = ???如何写。。。。
搜索更多相关主题的帖子: std vector string List array 
2022-12-15 23:19
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:406
专家分:190
注 册:2021-4-9
收藏
得分:0 
人呢,为什么,没人回答我的问题。。。。。。
2022-12-16 13:04
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1506
专家分:9241
注 册:2010-3-16
收藏
得分:20 
正如你说的,数组是固定大小,其他2个的大小可变。
vector 是可变数组,内存中连续位置存储。
List 是个链表,内存不连续。
2022-12-16 19:11
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:406
专家分:190
注 册:2021-4-9
收藏
得分:0 
以下是引用apull在2022-12-16 19:11:46的发言:

正如你说的,数组是固定大小,其他2个的大小可变。
vector 是可变数组,内存中连续位置存储。
List 是个链表,内存不连续。


小黄人,你好呀!!!
std::vector<std::string>和List<String^>^随时可以添加字符串。。。。
 为什么 std::vector<String^>没有语法错误提示。只要一运行就出 &&  不能在类型 '_Ty' 上使用此间接寻址

for(auto i : StrArr1) 、 for each(auto i in StrArr1) 二者区别是什么???
为什么 std::vector<std::string>可以使用for(auto i : V) 而 array<String^>^和 List<String^>^ 只能用 for each(auto i in V)。

程序代码:
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
    {
        array<String^>^ StrArr1 = {"123abc", "456def", "789ghi"};
        List<String^>^ StrArr2 = gcnew List<String^>((Generic::IEnumerable<String^>^)StrArr1);
        for each(auto i in StrArr2)
        {
            textBox1->Text += i + "\r\n";            
        }
    }
    


array<String^>^ StrArr1 = {"123abc", "456def", "789ghi"};
List<String^>^ StrArr2 = gcnew List<String^>((Generic::IEnumerable<String^>^)StrArr1);

如何:合并成一句,  List<String^>^ StrArr1 = ???如何写。。。。

[此贴子已经被作者于2022-12-17 01:34编辑过]

2022-12-17 01:20
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1506
专家分:9241
注 册:2010-3-16
收藏
得分:0 
你好,c++/CLR不会
G++中这3中都可以用for(auto i : V)遍历。
2022-12-17 09:25
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:406
专家分:190
注 册:2021-4-9
收藏
得分:0 
回复 5楼 apull
array<String^>^ StrArr1 = {"123abc", "456def", "789ghi"};
List<String^>^ StrArr2 = gcnew List<String^>((Generic::IEnumerable<String^>^)StrArr1);

如何:合并成一句,  List<String^>^ StrArr1 = ???如何写。。。。


 为什么 std::vector<String^>没有语法错误提示。只要一运行就出 &&  不能在类型 '_Ty' 上使用此间接寻址
2022-12-17 20:08
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1506
专家分:9241
注 册:2010-3-16
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
2022-12-17 21:57
快速回复:std::vector<std::string>、 array<String^>^、 List<String^>^ 三者 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016080 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved