問題タブ [pvs-studio]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - PVS-Studio は Unicode 文字を認識していますか?
このコードは、w/ の行で中程度の警告を生成しますreturn
。
PVS は式が常に false (V547) であると言いますが、実際にはそうではありません: !char
に読み取られる Unicode シンボルの一部である可能性があります。std::string
シンボルの Unicode 表現は次のとおりです。
1 byte - 0xxx'xxxx - 7 bits
2 bytes - 110x'xxxx 10xx'xxxx - 11 bits
3 bytes - 1110'xxxx 10xx'xxxx 10xx'xxxx - 16 bits
4 bytes - 1111'0xxx 10xx'xxxx 10xx'xxxx 10xx'xxxx - 21 bits
次のコードは、Unicode テキスト内の記号の数をカウントします。
入力に対してHello!
出力が6
あり、それПривет, мир!
が12
- これは正しいです!
私は間違っていますか、それとも PVS は何かを認識していませんか? ;)