😅
C/C++ での日本語の変数名、関数名
今更ですが GCC 10 で日本語の変数名などに対応したと目にしたので、Xcode (clang) の環境ではどうだろうと試してみました。
環境
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;
}
結果
ビルドも成功し、実行出来ました。
また、コード補完も出来ます。
感想
- 読みにくい
- タイピング量が多い
- 変数名などやはり考え込んでしまう
- 日本語を使わない文化圏の人とソースコードを共有すると相手にとって難読
という感じで個人的にはデメリットが多いので使うことはなさそうです。
参考文献
Discussion