码迷,mamicode.com
首页 > 编程语言 > 详细

C++learning_at_2014/12/14

时间:2014-12-14 18:43:54      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:字符串   continue   缓冲区   

cin >> 的格式,是从缓冲区读出空白分割符前的数据,即空格前的数据

getline(cin,参数);可以读入至回车前的数据。

c++是强类型,体现在,cin>>n时如果需要你输入一个整型,但你输入的是一个字符a,那么他就会返回一个负数,并且n被赋0;

当字符串过长时,可以以下表示:

const char* charstr = "this is one very long string "            //直接回车换行
                        "so i will continue it on the next line";
string 类型的对象,可以吸收字符串,并且 其.length()返回该对象字符串的长度。


ostringstream strbuf; 可以吸收字符串和整型值,或者可以说,把输出到屏幕的数据输入到此对象中,并且利用strbuf.str();将此对象中的数据进行字符化,最后可以用于字符串输出。

在利用下述可以输出到文件中:

ofstream outf;
    outf.open("mydata");
    outf << strval;   //strval是string类型
    outf.close();


从文件中读取数据时,有两个操作

ifstream inf;

inf >> newstr >> lucky2; 这个的作用,直观上讲,是利用文件中的字符串为分割单位,每一个字符串之后的数据会被一次的利用inf >> newstr >> 送入变量中,不管类型对不对,而且只能从头依次,不能指定送出第几个数据。

下面是按行输出的:

 ifstream inf;
    string newstr;
    inf.open("mydata");
    while(not inf.eof()){
        getline(inf,newstr);
        cout << newstr <<endl;
    }
    inf.close();


指针大小都是整型,与其类型无关。

关于static ,在类中进行声明时,使用static,会等同与全局声明,没有实践验证过,但是在定义相关类成员时不应该加上static ,因为那样做会把定义限定在当前文件。


重载‘=’ : Fraction&  operator=  (...){}

转换构造函数,晕晕呼呼的,直观上看,是存在这种构造函数,它有多个参数,但其中有一部分已经在参数列表中被赋值了。所以之后调用构造函数时不许要向其提供所有参数,提供没有被赋值的参数就好了。就是调用时的实参数目比形参数目少。


函数声明后加const的居然也算是函数签名的一部分,也就是说void demo(int) 与void demo(int ) const

是两个重载函数,而不是冲突函数,既然如此,编译器如何分清这两种函数呢?

Q:在调用时,对有const后缀的 调用前函数名加c,例:cdemo(int x)   是对上述后者的调用,不加c则是对前者的调用。


小数常量在C++中默认为double型。例如 2.3 是double型。

本文出自 “developing_Rookie” 博客,请务必保留此出处http://8942041.blog.51cto.com/8932041/1589805

C++learning_at_2014/12/14

标签:字符串   continue   缓冲区   

原文地址:http://8942041.blog.51cto.com/8932041/1589805

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!