1. 程式人生 > 其它 >C++學習第一天

C++學習第一天

技術標籤:c++c++

軟體環境: clion 網上搜索直接下載。

首先我們走helloworld案例

include <iostream>

int main(){
    cout << "hello world" << endl;
    return 0;
}

分析案例:

include: 關鍵字,引用外部的檔案或資源,類似於java中的import

<iostream> c++庫中自帶的io處理庫

int main(); c++中的主方法,程式入口,方法名不可修改。

cout: c++中的列印方法,

<<: 可以理解為字串拼接運算子

endl: 換行的意思

1、變數宣告案例

int money = 100;
const int age = 10;
void test(){
    int money = 50;
    cout << "money: " << money <<endl;
    cout << "全域性money" << ::money <<endl;
    age = 11;
    cout << "age:" << age << endl;
}

int: 關鍵字 變數型別 整數型別

const:關鍵字 標識age是一個常量,不可變,所以程式碼中age=11;這一樣會編譯報錯。

"::": 引用全域性變數的語法 ::money 表示此刻的money是方法外全部的變數money

變數同名,就近原則: 當局部變數(方法中的變數)和全域性變數(方法外的變數)出現名稱衝突,c++會就近選擇區域性變數。如果想使用全域性變數可以使用::語法

2、方法引數---傳遞之值傳遞和地址傳遞以及引用傳遞

//值傳遞
void test(int a,int b){
    a = 10;
    b = 20;
}
//地址傳遞
void test1(int *a,int *b){
    *a = 10;
    *b = 20;
}
//引用傳遞
void test2(int &a,int &b){
    a = 20;
    b = 30;
}

int main(){
    int a = 1;
    int b = 2;
    test(a,b);//值不變
    cout << "a:" <<a <<",b:"<<b<<endl;
    test1(&a,&b);//a變成10,b變成20
    cout << "a:" <<a <<",b:"<<b<<endl;
    test2(a,b);//a變成20,b變成30
    cout << "a:" <<a <<",b:"<<b<<endl; 
    return 0;
}

3、namespace的概念

namespace類似於java中的package。主要作用是區分同名的c++檔案

namespace  test{
    int getMoney();
}

int test::getMoney() {
    return 10;
}