😅

C/C++ での日本語の変数名、関数名

2024/06/22に公開

今更ですが GCC 10 で日本語の変数名などに対応したと目にしたので、Xcode (clang) の環境ではどうだろうと試してみました。

https://gcc.gnu.org/gcc-10/changes.html

環境

Xcode Version 15.4 (15F31d)
macOS Sonoma 14.5(23F79)

コード

#include <stdio.h>
#include <stdint.h>

typedef int32_t キータイプ;
typedef int     整数;

#define モシ              if
#define マワレ            for
#define コノアイダマワレ    while
#define カケ              printf
#define モドレ            return
#define ヌケル            break

void    クイックソート(キータイプ 配列[], 整数 先頭, 整数 最後)
{
    整数          一つ目の添え字, 二つ目の添え字;
    キータイプ   要素, 一時的な要素;
    
    要素 = 配列[(先頭 + 最後) / 2];
    一つ目の添え字 = 先頭;   
    二つ目の添え字 = 最後;
    
    マワレ (; ;) {
        コノアイダマワレ (配列[一つ目の添え字] < 要素) {
            一つ目の添え字++;
        }
        コノアイダマワレ (要素 < 配列[二つ目の添え字]) {
            二つ目の添え字--;
        }
        モシ (一つ目の添え字 >= 二つ目の添え字) {
            ヌケル;
        }
        一時的な要素 = 配列[一つ目の添え字];
        配列[一つ目の添え字] = 配列[二つ目の添え字];
        配列[二つ目の添え字] = 一時的な要素;
        一つ目の添え字++;
        二つ目の添え字--;
    }
    モシ (先頭 < (一つ目の添え字 - 1)) {
        クイックソート(配列, 先頭, 一つ目の添え字 - 1);
    }
    モシ ((二つ目の添え字 + 1) < 最後) {
        クイックソート(配列, 二つ目の添え字 + 1, 最後);
    }
}

void    配列表示(キータイプ 配列[], 整数 サイズ)
{
    マワレ (整数 添え字 = 0; 添え字 < サイズ; 添え字++) {
        カケ("配列[%d] = %d\n", 添え字, 配列[添え字]);
    }
}

int main(int argc, const char * argv[]) 
{
    キータイプ   テスト配列[] = { 1, -1, 4, 100, -3  };
    整数         要素数     = (sizeof(テスト配列) / sizeof(キータイプ));
    
    クイックソート(テスト配列, 0, 要素数 - 1);
    配列表示(テスト配列, 要素数);

    モドレ 0;
}

結果

ビルドも成功し、実行出来ました。
また、コード補完も出来ます。

感想

  • 読みにくい
  • タイピング量が多い
  • 変数名などやはり考え込んでしまう
  • 日本語を使わない文化圏の人とソースコードを共有すると相手にとって難読

という感じで個人的にはデメリットが多いので使うことはなさそうです。

参考文献

https://gihyo.jp/book/2018/978-4-7741-9690-9

Discussion