我也要学C++_第三章:字符串

Posted on 2011-07-17 18:58  dodolook  阅读(3332)  评论(72编辑  收藏  举报

  在征服编程艺术的同时,也可以多方面的涉及其他艺术形式哦!人的快乐在于情感,情感的表达就成了艺术。现在起,每次学习笔记末尾我都推荐一首曲子,当时都是经典的哦!让大家每天的快乐都能再增添1分!(今天是华人乐手的骄傲:李康敏)

字符串

  在上次的学习笔记中,我已经用过字符串啦!用引号括起来然后输出就好了!但是感觉这么办比较单调,有没有办法让字符串更加丰富多彩一点呢?!下面就有这么一个例子:

这段代码从cout << 知道是输出,\n我也知道,是换行,中间有个\t我在学C的时候就知道了,这个是制表符。这样的话,我就可以很顺利的猜测出程序运行的结果了。结果是:
Shape  Sides

-----   -----

Square  4

Circle   ?

看看正确的结果,看是不是一样的,呵呵!

呵呵!一模一样的。

如果在字符串中打印双引号呢?!

  我尝试着写出代码:std::cout << "\"\n;完全正确!反斜杠可以将一个特殊字符变成正常字符。

以为会出错的代码:

这段代码,我原以为会出错呢!因为在第11行的结束,第12行的开始我没有写输出操作符呢!结果仍然是输出心中的那个正确的结果:

咦!这就奇怪了啊!哦!原来是这样的,在通常情况下我们用输出操作符分隔每个输出项,但是只要有两个以上相邻的字符串,编译器就会自动将它们结合成一个字符串。但是记住哦,这个技巧只适合于字符串,不适用于字符哦!我去看看用于字符是什么结果:

所以在输出字符串的时候,你可以选择多种风格,都可以输出同样的结果,具体怎么去选择风格就看自己了,但是最好一直保持一种风格到底哦!

  这里又有一个问题,为什么不这样写呢,用一个大字符串把数字也包进去啊,比如这样:

这样看起来更简介一些啊!但是仔细一想这样也会出现一个问题,如果我事先不知道名称和边数的话就麻烦了,因为在不知道的情况下极有可能是读取存储在变量中的值,例如这样的代码:

嘿嘿!不错!C++的字符串已经内建了啊,不用像C,没有内建这个类型,不过C用字符串也非常好办。这里用到了字符串String这个类型,所以上面要包含string这个头文件了,因为你不实现告诉编译器我要用string,编译器没有心理准备,一看见string就有点紧张,接受不了啊!就像不知道自己暗恋的人会路过这个路口,结果在毫无准备的情况下在路口碰见了就有点紧张,不知所措呀!

  在上面那个程序中,给字符串赋了值"Triangle"。那么怎么赋空值呢,我先想想,空的话,有几个思路:1,括号里就写个双引号,里面是空的,嘻嘻!2,括号都不要,直接申请就得了,3,直接给NULL。int sides我也什么值都不给!先去试试看:。。。。。。结果:字符串的1,2的思路都达到了目的,3直接给NULL是不行的。另外,int sides不初始化出来的值是随机值。那么怎么写才是最保险安全的写法呢?!就是下面这样写:

std::string empty("");
int zero(0);

我得好好记住啊!以后我要改正1个习惯,我以后在初始化每个变量,即使我知道程序很快就会重写它,比如我以前代码中的输入循环。

来自伦敦的龙之力量:(风格:速度金属)