github上的每日学习 3
一、 一些的与C语言的区别
1、 在C++中,数据类型的字节长度并没有规定,只有规定不同的数据类型的字节长度的大小关系。
2、 字符串类型的表示方法:一个是运用的字符数组来存储字符,这叫做C风格的字符串,另一种是C++风格的字符串,这是应用C++类库中的String类。
3、 一个初始化的格式,从来没有用到的,不知道这是不是C++的区别之处:
int a(3);
int a={3};//这种情况下是列表初始化,不允许数据丢失,这就是比如说,用3.1415来初始化一个int的变量时,会造成数据丢失,这就是一个例子。
二、 常量const的格式,及应用
格式:
const 数据类型说明符 常量名=常量值;
或
数据类型说明符 const 常量名=常量值;
图片如下:
这里说明这程序运行的过程中不允许更改的呀!
还有,必须初始化,不初始化会报错的啊!
三、 string类的学习
相当于一个封装起来的字符数组!!听说超级好用的呢!!而且不用考虑下标越界!!不用考虑长度的问题!!
而且有一个超级好的地方,不用引用函数,直接用+作为连接,><==作比较,=作为赋值!!
具体如下:
#include<iostream>
using namespace std;
inline void test(const char* title, bool value)
{
cout << title << "return:" << (value ? "true" : "false") << endl;
}
int main()
{
inline void test(const char* title, bool value);
string s1 = "DEF";
cout << "s1 is " << s1 << endl;
string s2;//这里默认长度为零,但是!!这里会自己变化的,好像是这么理解的啦!
cout << "Please ebter s2:";
cin >> s2;
cout << "length of s2:" << s2.length() << endl;
//比较运算符的test:
test("s1<=ABC", s1 <= "ABC");
test("DEF<=s1","DEF"<=s1);
//连接运算符的test:
s2 += s1;
cout << "s2=s2+s1:" << s2 << endl;
cout << "length of s2:" << s2.length() << endl;
return 0;
}
四、 getline函数的练习
getline的使用格式
getline(cin,string类型的变量名,什么字符为止);
特别指出,需要用头文件
#include<string>;
如果没有指出到什么字符为止,那么默认换行符为止;
练习代码:
#include<string>
using namespace std;
int main()
{
for (int i = 0; i < 2; i++) {
string city, state;
getline(cin,city, ',');
getline(cin,state);
cout << "city:" << city<<endl << "state:" << state;
}
}