すぐすぐすぐすぐすぐ~のぶろぐ

似非競プロの話をします

C++で**演算子を使いたい話

はじめに

すぐです。PythonRubyでよく使われている**演算子C/C++でも使ってみたくないですか?というか、C++って++演算子(インクリメント)はあるのに**演算子がないのって変だと思っています。かといって、自分で長い宣言をするのはめんどくさいので特別なコードを書きたくない!!!!!(おい)

ほんへ

さっそくコードを見せていきます。

#include<bits/stdc++.h>
using namespace std;
 
int main(){
    int a = 2,x = 2;
    int *b = &x;
    cout << a**b << endl;
    return 0;
}

これを実行すると、2^2=4より正しいです。やったね。

 

このように、こんな感じでコードを組みましたが、当然**演算子なんて存在しませんから、どういう仕組みなのかを見ていきます。

まず、bはint型のポインタで、xという変数のアドレスを入れています。そして、1個目のアスタリスクを乗算演算子,2個目のアスタリスクとbで xを呼び出すことで、結局a*xの計算をしています。

さいごに

乗算演算子とポインタ変数の記号にアスタリスクを使うのは、ダメだろ。