2010-01-09

C++0x本:実験

名詞を英単語で書くと、以下のようになる。

constexpr specifierは、functionのtypeとしては認識されない。

つまり、constexprかどうかで、functionのoverloadはできない。

ただし、non-static member functionにconstexpr specifierを指定した場合、const specifierを指定したのと、同じ効果がある。

これ以外では、functionのtypeに影響を与えることはない。

うーん、やりすぎという感じもする。

9 comments:

I.S. said...

Functionとかtypeは、関数、型という十分流通している訳語があるからそれを使うほうがいいのではないでしょうか。Specifierも識別子というのがありますし、それを使うのもありだと思います。

英単語のままにするのは片仮名外来語としてでしか表現できないものに限るか、日本語訳の単語を創出するか、片仮名外来語を使用するかのどれかになると思います。

何事も程度問題で、臨機応変に対応するのがいいかもしれません。Constructorを構築子などとかやるとキリがなくなってきますし。

所詮自然言語などは矛盾の巣窟なので、どこかで妥協せざるをえないということでしょう。

江添亮 said...

specifierは、修飾子とか、指定子などと訳されるべきでしょう。
識別子といえば、一般では、identifierのことをいうのではありませんか。

Anonymous said...

記事の趣旨とはずれる話をしますが, 句読点の後などを除いて英単語の前後には半角スペースを入れた方が僕は読みやすく感じます.

> constexpr specifierは、functionのtypeとしては認識されない。

constexpr specifier は、function の type としては認識されない。
こんな感じ

Anonymous said...

> 英単語の前後には半角スペース
その昔書籍の原稿でそれをやってしまい、出版社側で修正の手間が発生して迷惑がられたことがあります…。

I.S. said...

> specifier

すいません、ボケてました。

I.S. said...

> 英単語の前後には半角スペース

日本語は元々分かち書きをしません。漢字と仮名で単語の区切りを目立たせているため、spaceが要らないんです。

I.S.はこの理屈から、英単語(と言うかalphabetの羅列)と日本語の単語の間にspaceを入れません。

が、英語などの西洋語はspaceで分かち書きをします。英語などは漢字がないため、分かち書きをしないと単語がくっついてしまって判別が難しくなるからです。

日本語の文章なら日本語の流儀に則ってやるという理屈と、英単語を使うのだから、英語の流儀に則ってやるという理屈も、どちらも妥当だと思います。一般的にはspaceを入れるのが普通みたいですね。

Anonymous said...

アルファベットと仮名漢字の間は、テキストデータとしては明示的に空白文字を置かず、(CSSでいうところの(IE限定ですが)text-autospaceのように)それを表示するアプリケーション層で適切に間を開けて表示してくれるのが理想だと自分は考えています。そのため、テキストデータとしては、空白文字は置かない主義をとっています。書籍を出版するまでの工程は知りませんが、編集・組版などといった過程でやってくれるものではないでしょうか。完全に話それていますね、ごめんなさい。

Anonymous said...

率直に言わせていただくとこんな文章見せられたら読む気をなくします。まだ全部英語で書かれてた方がマシです。

江添亮 said...

ですよねー。
はてさて、どうするか。