アプリ版:「スタンプのみでお礼する」機能のリリースについて

C/C++言語で、予約語でないことが保証される変数名についての規約はありますか?
例えば、アンダーパー(アンダースコア)3つが冒頭に連続している変数名は、2つ連続、と同様に、予約済み、なのでしょうか?
だいぶ以前に、アンダーバー3つは、セーフ、つまり、名前の衝突がないことが保証される、などと記された教科書を見かけたような記憶があるのですが、勘違いでしょうか?

A 回答 (2件)

おまけ.



さすがに予約語を無制限に増やしていくと互換性の問題は生じるので, C だと「アンダースコア+大文字」ではじまるものが存在する. これならもともと予約されていたものなので予約語にしても大きな問題にはならない. C++ ではもうちょっと「非予約語の予約語化」が起きそう. 現在のキーワードは
https://en.cppreference.com/w/cpp/keyword
らしい.

あとアンダースコアについては C と C++ でちょっと違って, C では
「アンダースコア+大文字」または「アンダースコア+アンダースコア」ではじまる
ものが実装に予約なのに対し, C++ では
「アンダースコア+大文字」ではじまる, または「2個の連続するアンダースコアを含む」
ものが予約になっている. 従って
a__b
なんかの扱いが変わる.
    • good
    • 0

たぶん, ない.



あと「アンダーバー 3個で始まる名前」は「アンダーバー 2個で始まる名前」でもあるから当然予約されている.
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このQ&Aを見た人がよく見るQ&A