首页 > 代码库 > C++learning_at_2014/12/14

C++learning_at_2014/12/14

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