随笔-159  评论-114  文章-7  trackbacks-0
g++ -c 编译成为目标文件

g++ -o 编译指定输出文件名

   g++ Info_test_list.cc Info.cc -o Info_test

如果是在windows上,使用Dev-C++,它支持ANSI-C比较好。

#include <> 包含头文件
#include "" 自己的头文件

   #include <iostream>
   using namespace std;

头文件:

/usr/local/include/c++/3.2/

g++自动能找到标准头文件。

可以自己定义命名空间:

namespace std{

}

#include <iostream>
using namespace std;

namespace czq{
   
int var = 100;
}


int main()
{
    cout 
<< czq::var << endl;
    
return 0;
}


最后一行应该有一个空行。

在C++中表示字符串,有三种方法,string类,char* char name[]。

char name[] = "John",这是一个字符串末位有一个'\0',也就是第五个字符。

'J''o''h''n''\0'

那么char str[5] 只能放四个字符。

int main(int argc,char argv[])
{

}

argc至少为1,因为参数个数包含可执行文件本身。

argv[0],可以用于检查执行文件名是否被修改,用于版权保护哦。

=============================

在C++中,只要不是0,就是真,那么0包括0、'\0'、NULL、false

例子:猜数:

#include <iostream>
using namespace std;

int main()
{
    unsigned 
int t = time( NULL );//随即数产生
    unsigned 
int num = t * 37 % 100;
    unsigned 
int data;
    
int i;
    cout
<<"input a number between 0~99:";
    
for( i=0; i<10; i++ ){
        cin 
>> data;
        
if!cin ){//如果输入流没有读到整型,那么就会设置错误标志
            cout
<<"Invalid number!\n";
            cin.clear();
            cin.ignore( 
100'\n' );//忽略字符,最多100个,遇到\n就结束忽略
            
continue;
        }

        
if( data == num ){
            cout
<<"you got it!"<<endl;
            
break;
        }

        
else if( data < num ){
            cout
<<"too small!"<<endl;
        }

        
else
            cout
<<"too big!"<<endl;
        cout
<<"try again:";
    }

    
if( i >= 10 )
        cout 
<< "the answer is " << num << endl;
    
return 0;
}



atoi函数可以转换字符串变为整数。不成功为0

#include <iostream>
using namespace std;

int main(int argc,char* argv[])
{
    
int score;
    
char* p = "10000";
    
    score 
= atoi(p);
    
    cout 
<< score << endl; 
    cin.
get();
    cin.
get(); 
    
return 0;    
}

 

C++,只要定义变量,就会分配空间。只有纯声明性的东西才不会分配空间。

int a;//这时就已经分配了4个字节

对于对象来说,创建对象有两种途径:1、直接定义  2、new 在堆空间

int a = 0;这是初始化,C++大部分情况不会自己初始化,可能保存着不确定的值,需要程序员完成初始化。

a = 9; 这是赋值,赋值与初始化是完全不同的概念,赋值操作实质是进行内存数据的复制。初始化,定义时分配空间后给一个值而已。

赋值与初始化的区别体现的更明显 对象的初始化和赋值是完全不同的概念



posted on 2006-01-11 21:51 北国狼人的BloG 阅读(538) 评论(0)  编辑  收藏 所属分类: 达内学习总结

只有注册用户登录后才能发表评论。


网站导航: