c++
来源:互联网 发布:java视频网站开发 编辑:程序博客网 时间:2024/06/13 03:32
1、std::cin和cin的区别,好像是没有什么区别,只是std::cin是标准输入流,当你使用std::时,则表明你在告诉编译器你正在调用标准命名空间(namespace standard),其次为了避免每次都使用std::,所以用到命名空间using namespace std;
下面是输出Helo World!的两个程序。
#include<iostream>int main(){ //std::cout<<"Hello World!"<<std::endl; using std::cout; using std::endl; cout<<"Hello World!"<<endl; return 0;}
使用命名空间:建议使用下面这种,简单些,呵呵呵~~其实大多数都是用这种方式~
#include<iostream>using namespace std;int main(){ cout<<"Hello World!"<<endl; return 0;}
2、求某个数值的类型,如int的数值能表示的最大值或最小值(-2147483648~2147483647)。
#include<iostream>#include<limits>using namespace std;int Max,Min;template<typename T>void Range(){ Max=numeric_limits<T>::max(); Min=numeric_limits<T>::min();}int main(){ Range<int>(); cout<<Min<<" "<<Max<<endl; return 0;}
3、分割字符串,这个在ACM中用的比较的多,下面的做法主要采取vector存储,利用string中的find,substr函数进行查找和分割:
#include<iostream>#include<string>#include<iterator>#include<vector>#include<functional>using namespace std;void splits(const string& s,char c,vector<string>& v){ string::size_type start=0,pos=s.find(c); while(pos!=string::npos) { v.push_back(s.substr(start,pos-start)); start=++pos; pos=s.find(c,pos); if(pos==string::npos) v.push_back(s.substr(start,s.length())); }}int main(){ vector<string> v; string s; ostream_iterator<string> output(cout,"\n"); cin>>s; splits(s,',',v); copy(v.begin(),v.end(),output); return 0;}
4、利用time函数获取当前的日期和时间:
#include<iostream>#include<ctime>//返回的是一个time_t类型的值,它表示一个实现定义的算法类型,用来代表一个时间段,或叫时间间隔 #include<cstdlib> using namespace std;int main(){ time_t now=time(0);//读取时间,秒数 cout<<asctime(localtime(&now))<<endl;//转换为本地时间,并以字符串输出 cout<<asctime(gmtime(&now))<<endl;//转换为UCT时间,即GMT,并以字符串输出 return 0;}
5 、const的使用及作用:
可以用const来声明不能修改的变量,也可以将const用于类中的成员函数,但是请注意:将类方法声明为const,必须保证该方法不会修改任何类成员的值。
将类方法声明为const,如:void Point() const;它不接受任何参数,由于被声明为const的,所以不会修改其所属类的任何数据成员。
再比方说:void Point(int x);这个是不允许const的,它会修改成员变量x的值。
好的编程习惯是尽可能的将方法声明为const的,这样能让编译器捕获错误,而不至于等到程序运行时才出现Bug。
其它应用:
1、const要求它所修饰的必须为常量,且不能被赋值和修改。
例:const int MAX=1010;这个在使用数组时经常用到,但是如果你在使用这个语句后重新再给MAX赋值,就会出现错误。且不能写成这样const int MAX; MAX=1010;
2、const修饰函数形式参数:当输入参数为用户自定义类型和抽象数据类型时,将“值传递”改为“const& 传递”可以提高效率。
比方说:
void Fun(Point P);void Fun(const Point &P);
3、使用const 修饰返回值,说明该函数的返回值不可变。
const int Fun();
4、const对指针不说,自己查资料。
其它的用法都差不多,上面几个应该足够了~,比方说下面这个是不行的:由第一点就知道。
void Fun(const int& num){ num=10;}
6、operator用法:
主要是用于类型转换和操作运算符重载
运算符重载的格式:不做解释~
函数类型 operator 运算符名称(形参列表){ 对运算符的重载处理}
重载下标运算符,作用是为防止在对数组动态赋值时发生数组越界,格式为:返回类型& operator[] (下标类型 下标)。这个函数只能有一个参数。
#include<iostream>#include<string>using namespace std;class Name{public: Name(){name="";} Name(string s):name(s){} char operator[](int i) { if(i>=0&&i<name.length()) return name[i]; else cout<<"越界啦"<<endl; }private: string name; };int main(){ int a,b; Name N("xuzengqiang"); for(int i=0;i<20;i++) cout<<N[i]<<endl; return 0;}
- c
- c
- c
- c
- C
- c
- c
- c
- C+
- c
- C
- c
- c
- c
- C
- C
- c
- C
- discuz X2转帖工具、采集工具 使用介绍(原创)
- 典型的dijkstra HDU 2680 Choose the best route
- 用C语言求n的m次方代码
- 浅谈WebService开发
- MQ常用命令
- c++
- android database 常用字段描述
- MBMQ安装测试
- Oracle建立新的表空间
- 目标:10天学完dreamdream课程!
- Android_selector背景选择器的用法
- [转】LDR ADR ADRL 区别与联系
- 九度oj 第6题 变态跳台阶 何海涛:《剑指Offer:名企面试官精讲典型编程题》
- 悟透JavaScript-很有深度的文章