質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
ポインタ

ポインタはアドレスを用いてメモリに格納された値を"参照する"変数です。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

3回答

764閲覧

C++ ポインタ渡しをしているのかわからない。

Tololololo

総合スコア118

ポインタ

ポインタはアドレスを用いてメモリに格納された値を"参照する"変数です。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2018/10/01 08:23

編集2018/10/01 08:41

-追記-
C++のみの機能ということで、タグうやタイトルは変更しました

以下のコードですが、
"bool test(int &b)"っと書いてますが"bool test(int b)"でも同じ結果です。
これは何が違うのでしょうか?
これによってメモリアドレスを渡しているってことでしょうか?

"cout << &b <.." これでも一応メモリアドレスは出てきました。

C++

1#include <iostream> 2#include <vector> 3using namespace std; 4 5 6bool test(int &b) 7{ 8 cout << b << endl; 9 return true; 10} 11 12int main(){ 13 int a = 3; 14 bool c; 15 c = test(a); 16 /// こういう変数生成の方法もあることを初めて知った。 17 /// const bool c(test(a)); 18 cout << c << endl; 19}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

bool test(int &b)は参照渡しを宣言するもので、「C++」の機能であり、C言語には存在しないものです。

投稿2018/10/01 08:30

kazto

総合スコア7196

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

それは参照渡しというものです。
「C++ 参照渡し」でぐぐってみましょう。

ちなみに、C言語ではそういうのはありません。C++ですね

投稿2018/10/01 08:29

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

ポインタ渡しではなく参照渡しです。

これは何が違うのでしょうか?

関数test内で仮引数bを書き換えると、呼び出し元の実引数aの値にも影響します。

C

1#include <iostream> 2 3void func_val(int arg) { 4 arg = 1; 5} 6void func_ref(int &arg) { 7 arg = 2; 8} 9 10int main(void) { 11 int val = 0; 12 13 std::cout << val << "\n"; 14 func_val(val); 15 std::cout << val << "\n"; 16 func_ref(val); 17 std::cout << val << "\n"; 18 19 return 0; 20}

実行結果 Wandbox

0 0 2

投稿2018/10/01 08:27

編集2018/10/01 08:30
LouiS0616

総合スコア35660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問