VisualStudio2005(VC++)でMFCのCStringのヘルプでCStringクラスの
ヘルプが見つからないのですが、なくなっているのでしょうか?
コンパイルできるし、ヘルプの中でCStringの記述が出てくるので
どこかにCStringクラスのメンバ一覧とかがでてきて良さそうですが
CStringTしか見つかりません。
今は仕方なくVC6のヘルプを見ています。
よろしくお願いします。
afxstr.hをみるとCStringは ATL::CStringTのtypedefみたいですね
#include <afxwin.h>
#include <iostream>
#include <typeinfo>
int main() {
std::cout << typeid(CString).name() << std::endl;
}
...この結果によると UNICODE-mode に応じて
ATL::CStringT<char> もしくは ATL::CStringT<wchar_t>
の typedef であるようです。
FUKU さん、επιστημη さん
ありがとうございます。
ヘルプにtypedefされているとか書かれていましたが、
ATLって何?って状態なので、ヘルプでATLって出てきて戸惑っていますが
ヘルプで「CStringT は CSimpleStringT クラスを継承します。」あったので
「CSimpleString」のメンバでやっと「GetBuffer」がでてきました。
http://msdn2.microsoft.com/ja-jp/library/72b2swax(VS.80).aspx
(「MFC ライブラリ リファレンス」ってありますがATL?)
では、「CString オブジェクト内の文字はメンバ関数 GetAt および…」
って表記があるならヘルプでCStringのメンバ関数一覧があって欲しかったです。
(説明の「CString」のリンク先は「CStringT」になってますけど…)
VC6でのCStringメンバ関数のヘルプを「Visual Studio 2005 MSDN ライブラリ」で
見ようとしただけなのにたどり着くのに時間かかりました。
CStringは、VC6の頃(MFC6)ではUNICODEとSJISが混在できないマクロスイッチで。
MFC7以降は、ATLというMSの別テンプレートライブラリと統合されて、
両方がtemplateで選択できるようになってます。
# 概観は似せてあってI/Fはある程度維持してますけど、内部実装は結構別物です。
# MFC6のCStringとMFC7のCString
CStringは、VC6の頃(MFC6)ではUNICODEとSJISが混在できないマクロスイッチで。
MFC7以降は、ATLというMSの別テンプレートライブラリと統合されて、
両方がtemplateで選択できるようになってます。
# 概観は似せてあってI/Fはある程度維持してますけど、内部実装は結構別物です。
# MFC6のCStringとMFC7のCString