代码改变世界

为姓名装表

2014-02-10 19:22  jiaoluo  阅读(166)  评论(0编辑  收藏  举报

#include <iostream>
#include <string>

int main()
{
    std::cout<<"Please enter your first name:";
    std::string name;
    std::cin>>name;
    
    const std::string greeting = "Hello, " + name + "!";
    const std::string spaces(greeting.size(),' ');
    const std::string second = "*" + spaces + "*";
    const std::string first(second.size(),'*');

    std::cout<<std::endl;
    std::cout<<first<<std::endl;
    std::cout<<second<<std::endl;
    std::cout<<"*"<<greeting<<"*"<<std::endl;
    std::cout<<second<<std::endl;
    std::cout<<first<<std::endl;
    return 0;
}

为了透彻的理解spaces,我们需要知道:如果根据一个整数值和一个字符值来构造一个字符串,那么在所得的结果中就会有这一这个字符值的多份复制,二复制的份数跟证书的值相等。

std::sting z(n,c);定义类型为std::sting的变量z,且把z初始化为包含n个字符c的字符串。这里的c必须为一个字符,它既不能是字符串也不能是字符串的直接量。