Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Window テキストをCNativeT で取得/設定するユーティリティ関数を追加 #776
Window テキストをCNativeT で取得/設定するユーティリティ関数を追加 #776
Changes from 9 commits
19ab73a
323edd4
aabf31f
97e4b7d
f12eed5
4b21935
9585343
12594f2
ed9e1fb
195add5
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
このコメントは修正要求じゃないです。
CNativeW::operator LPCWSTR( void ) const
を追加する選択もあると思います。この関数の追加と両立できないわけではありませんが、変換演算子を定義すれば他の用途でも
GetStringPtr()
しなくて済むようになります。There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
暗黙の型変換演算子でしょうか?それとも explicit を付けた明示的な型変換演算子でしょうか?
std::basic_string
もc_str
メソッド経由じゃないと内部データのアドレス取れないようにしてるのでカプセル化を考えたら暗黙にはしない方が良いと思います。そんなの関係ねぇと言ってローレベルな記述をして処理効率を上げるのもそれはそれで乙なものだと思いますが…。There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
意図してるのは暗黙のほうです。
シグニチャ通り、constな内部ポインタを返すconst暗黙変換演算子があると便利かな、です。
マズい場合もありえることを初めて知りました...orz
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
この提案は完全にNGでした。
むしろ、既存コードにあるimplicit なwchar_t*変換演算子をexplicitに変えた方がいいくらいでした。
X64対応の障害になっちゃうから:smile:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
昔懐かし CString だと暗黙的な型変換があってお手軽だった気がします。
しかし暗黙的な型変換は不具合に繋がりやすいのか何やら敵視されているっぽいです。
面倒くさいからといってバケツでウラン溶液を扱ってはいけないという事でしょうか?