| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2030 人关注过本帖
标题:用一个初始值设定项初始化所有数组元素的方式的问题?
取消只看楼主 加入收藏
fgfdfg
Rank: 2
等 级:论坛游民
帖 子:25
专家分:52
注 册:2011-5-31
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
用一个初始值设定项初始化所有数组元素的方式的问题?
请问一下:
Visual C++2010 C++\CLI平台
array<wchar_t>^ indicators(gcnew array<wchar_t>(sentence -> Length){L'*'});

① 这个数组中的 {L'*'} 代表什么意思?
谢谢。
{L'*'} 这个整体,比如说初始化数组元素,是初始化该数组的所有元素还是只初始化第一个元素
我逐步调试过,好像只初始化第一个元素。
② 而且这个{L'*'}好像可有可无,删了,程序也照样运行,请问这个有什么作用、意义?

完整程序如下:
#include "stdafx.h"

using namespace System;

int main(array<System::String ^> ^args)
{
    array<wchar_t>^ punctuation = {L'\"', L'\'', L',', L'.', L'?', L'!', L':', L';'};
    String^ sentence(L"\"It\'s chilly.\" the boy\'s mother said coldly.");
    array<wchar_t>^ indicators(gcnew array<wchar_t>(sentence -> Length){L'*'});
   
    int index(0);
    int count(0);
    while((index = sentence -> IndexOfAny(punctuation, index)) >= 0)
    {
        indicators[index] = L'^';
        ++index;
        ++count;
    }

    Console::WriteLine(L"The sentence contains {0} punctuations.", count);
    Console::WriteLine(L"{0}\n{1}", sentence, gcnew String (indicators));
    return 0;
}

测试结果,只显示一个“*”,如果是初始化数组所有元素,不是有好多“******”?

书上的原文是这样的:
注意在数组说明后面的大括号中用一个初始值设定项初始化所有数组元素的方式。
┈┈┈┈┈┈┈┈《Visual C++ 2010入门经典(第5版)》Ivor Horton 著 苏正泉 李文娟 译 P203

书上怎么说是初始化所有数组元素。
实际上我自己测过,也只是初始化第一个数组元素。

请问,这是什么原因?是书上翻译错了吗?
谢谢。

[ 本帖最后由 fgfdfg 于 2011-8-19 21:40 编辑 ]
搜索更多相关主题的帖子: include 元素 而且 
2011-08-19 21:39
fgfdfg
Rank: 2
等 级:论坛游民
帖 子:25
专家分:52
注 册:2011-5-31
收藏
得分:0 
回复 2楼 hahayezhe
请问:
①初始化数组的所有元素,还是第一个元素?
②将其删除,程序照样正常运行,有什么存在的意义?

C++\CLI
2011-08-20 21:50
快速回复:用一个初始值设定项初始化所有数组元素的方式的问题?
数据加载中...
 
   



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

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