学习c++
作者:bin在linux下,首先检查环境是否支持c++
g++ -v
编译,与运行
g++ youfilename.cpp -o yourfilename ./youfilename
一、指针的应用
const int *ip = 0; int var = 20; ip=&var;
解释:
const int *ip = 0,标识ip是一个指针,并且可以指向任意一个int的变量或者int常量。并且不可以通过(ip)指针去修改这个值
ip=&var; 将ip指向var地址
ip = 100 //error: assignment of read-only location ‘* ip’
提示只读属性,及不能修改他的值。
int a=2; int &b=a;//这个声明语句中的&是一个引用 int *p=&b;//这个指针初始化语句中的&是取地址运算符
应用场景:
int loadCfg(const char *pszCfgFile);
传入变量时候,传入指针。
loadCfg( &pszCfgFile );
通过pszCfgFile地址来使用loadCfg方法
学习代码记录:
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
#define DOMAIN "www.zengbingo.com"
const string SIGN = "lskSrj2@sk1";
//数据结构
typedef struct Books{
string title;
string author;
string subject;
int book_id;
} B;
int main(){
//标准输出
cout << "hello to chinese is 'nihao'" << endl;
cout << "size of int :" << sizeof (int) << endl;
//枚举
enum { RED = 1, BLUE, YELLOW };
cout << BLUE << endl;
cout << DOMAIN<< endl;
cout << SIGN << endl;
//获取随机数
srand( (unsigned)time( NULL ));
int j= rand();
cout << j << endl;
//指针与引用
int var = 20;
int var2 = 30;
const int *ip = 0;
cout << "初始值,ip地址为:" << ip << endl;
ip=&var;
cout << "var地址为:" << &var << endl;
cout << "var的值为:" << var << endl;
cout << "指针地址为:" << ip << endl;
cout << "指针的值为:" << *ip << endl;
ip=&var2;
cout << "var地址为:" << &var << endl;
cout << "var的值为:" << var << endl;
cout << "var2地址为:" << &var2 << endl;
cout << "var2的值为:" << var2 << endl;
cout << "重置后,指针地址为:" << ip << endl;
cout << "重置后,指针的值为:" << *ip << endl;
//时间
time_t now = time(0);
tm *gtm = localtime(&now);
cout << "tm 时间为:" << gtm->tm_sec << endl;
cout << "ctime 时间为:" << ctime(&now) << endl;
//结构指针与引用
B b1;
b1.title = "你好";
cout << "结构体b1,title为:" << b1.title << endl;
B &b2 = b1;
b2.title = "你好b2";
cout << "[值引用]结构体b1,title为:" << b1.title << endl;
cout << "[值引用]结构体b2,title为:" << b2.title << endl;
B *b3 = &b1;
b3->title = "你好b3";
cout << "[指针]结构体b1,title为:" << b1.title << endl;
cout << "[指针]结构体b3,title为:" << b3->title << endl;
B *&b4 = b3;
b3->title = "你好b4";
cout << "[指针]结构体b1,title为:" << b1.title << endl;
cout << "[指针]结构体b4,title为:" << b4->title << endl;
//标准的输入与输出流
string name;
cout << "请输入你的名字" << endl;
cin >> name;
cout << "你的名字为:" << name << endl;
cerr << "T_T这是一条错误消息" << endl;
return 0;
}