日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

【C++】函数 指针类型参数 与 引用类型参数 对比 ( 修改外部变量需要传入的参数要求 | 参数作返回值 )

發布時間:2025/6/17 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【C++】函数 指针类型参数 与 引用类型参数 对比 ( 修改外部变量需要传入的参数要求 | 参数作返回值 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

        • I . 博客總結 . 指針與引用類型參數
        • II . 指針作為參數和返回值
        • III . 引用參數簡介
        • IV . 引用作為參數和返回值



I . 博客總結 . 指針與引用類型參數



1 . 討論問題 : 本章只針對一點進行討論 , 那就是對兩種類型的參數修改 , 是否影響到外部的變量 ; 傳入什么樣的參數才能修改外部變量 , 即 參數當返回值使用 ;


2 . 如果要在函數中修改 N 維指針指向 :


① 使用指針作為參數 : 必須傳入 N + 1 維 ( 及以上 ) 指針參數 , 才可以修改 N 維指針的指向 ;

② 使用引用作為參數 : 可以傳入 N 維指針的引用作為參數 , 就可以修改 N 維指針的指向 ;


3 . 參數使用語言環境 : 引用類型參數只能在 C++ 環境中使用 , 指針類型參數可以用于 C / C++ 兩種語言環境中 , 因此很多基礎庫 如 FFMPEG , OpenSL ES 等使用的都是指針類型參數 ;



II . 指針作為參數和返回值



指針作為參數和返回值 : 如果是指針作為參數 , 修改 N 維指針指向的地址 , 那么需要傳入 N + 1 維指針 , 傳入指向該 N 維指針 的指針參數 ( N + 1 維指針 ) , 才能在函數中修改該 N 維指針的指向 ;


① 一維指針參數 : 傳入一維指針 , 只能修改指向的內存的內容 ; 修改一維指針本身指向無意義 ;

② 二維指針參數 : 傳入 二維指針 , 只能修改一維指針 及 以下的內容 ; 修改二維指針本身指向無意義 ;

③ N 維指針參數 : 傳入 N 維指針 , 只能修改 N - 1 維指針 及 以下的內容 , 修改 N 維指針內容 無意義 ;


更多內容參考 【Android FFMPEG 開發】FFMPEG 方法中指針類型參數說明 ( 一維指針類型參數 | 二維指針類型參數 )



III . 引用參數簡介



1 . C 語言中的參數 分類 :


① 普通變量參數 : C 語言中 普通變量 ( 非指針變量 ) 作為參數 , 只能進行值傳遞 , 不能通過參數返回結果 ;

② 指針變量參數 : C 語言中 , 如果要讓函數的參數可以將結果返回 , 則必須使用指針作為參數 ;


2 . C++ 中的引用參數 : C++ 在 C 語言基礎上擴展了 引用 數據類型 , 使用引用可以替代上面的指針作為參數的情況 , 使參數具有返回結果的能力 ;


3 . 作用及意義 :


① 具有返回值能力 : 使用引用作參數 , 可以將參數當做返回值使用 ;

② 提高參數傳遞效率 : 大型對象作參數時 , 使用引用類型 , 可以提高參數傳遞效率 ;


更多關于引用的內容參考 【C++ 語言】引用 ( 引用簡介 | 指針常量 | 常量指針 | 常引用 | 引用參數 | 引用 指針 對比 )



IV . 引用作為參數和返回值



引用作為參數和返回值 : 如果是引用作為參數 , 修改 N 維指針指向的地址 , 那么需要傳入 N 維指針的引用即可 ,在函數中修改該引用 , 即可修改外部的被引用的變量 ;


① 一維指針引用參數 : 傳入一維指針引用 , 可以完全修改該指針本身的指向 ;

② 二維指針引用參數 : 傳入 二維指針 , 可以修改二維指針本身 及 以下的內容 ;

③ N 維指針引用參數 : 傳入 N 維指針 , 可以修改 N 維指針本身 及 以下的內容 ;

總結

以上是生活随笔為你收集整理的【C++】函数 指针类型参数 与 引用类型参数 对比 ( 修改外部变量需要传入的参数要求 | 参数作返回值 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。