
No.4ベストアンサー
- 回答日時:
簡単にいうと^(ハットマーク)は実体がヒープに確保されるという意味です。
他の方の指摘の通り、これはC++/CLIと呼ばれる言語でC++で.NET Frameworkを
利用するために拡張した言語です。
.NET Frameworkのクラスはガベージコレクションで管理されている為
C++のクラスとは別に管理する必要があります。その為
^(ハットマーク)をつける事により区別しています。
ちなみにC++マネージ拡張とC++/CLIは違います。
2003以前の仕様をC++マネージ拡張と言い
2005以降のものをC++/CLIと言います。
System::Stringはスタックに置くことは出来ないので
System::String^ msg;
となります。
System::Drawing::Color等は
スタックに置くこともヒープに置くことも可能です。
System::Drawing::Color^ col1 = gcnew System::Drawing::Color();
System::Drawing::Color col2;
int test1 = col1->R;
int test2 = col2.R;
C++/CLIの参考書としては
中 博俊著 「実践 C++/CLI 極めるための基礎と実用テクニック」
がありますが、
まずC/C++を理解していることが前提になっていますので
もしC/C++の理解に不安があるようなら先に勉強した方が良いでしょう。
有名な書籍だと「独習C」と「独習C++」があります。
前述の通りC++/CLIは.NET Frameworkを使うためのものですが
.NET Frameworkを使いたいのであればC#の方が良いと思います。
No.3
- 回答日時:
StringクラスってことはC++マネージ拡張かな?
C++マネージ拡張は、.NETフレームワークにおけるC++の拡張仕様で、C++/CLIとも言います。
私もC++/CLIには詳しくないので、String^が何を意味するかは分かりません。
少なくともTurboCからC++/CLIは間を飛ばしすぎだと思います。
C言語が理解できているのなら、まずC++を勉強されてはいかがでしょうか?オブジェクト指向が分からないとVC++2005は使いこなせません。
その上で、WindowsAPIやMFCなどのWindowsアプリを書く勉強をされたほうが良いと思います。さらにその先でC++/CLIに行けばよろしいかと。
C++の推薦本としては、「明解C++」を推薦します。
http://www.amazon.co.jp/%E6%98%8E%E8%A7%A3-C-%E6 …
ざっと、VC++の機能を参照できる本としては、「Visual C++.NET逆引き大全500の極意」なんかどうでしょうか?
http://www.amazon.co.jp/Visual-NET%E9%80%86%E5%B …
No.2
- 回答日時:
> String^ msg = "テスト";
> は、
> char msg[] = "テスト";
> と同じ意味でしょうか?
違います。
> String^の^自体が何を意味しているのか、わかりません。
> TurboCからC言語は殆ど使っていませんので、戸惑っています。
この構文はC言語のものではないので当然です。
C++/CLIについて調べてみるとよいでしょう。
名前こそ似ていますが、C++とC++/CLIは別の言語です。PL/IとPL/SQLほどは違わないという程度に考えてください。
参考URL:http://vene.wankuma.com/ecma372/StartingState.aspx
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java final 1 2022/06/10 22:49
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- XML MSFormsとは何ですか? 2 2022/05/02 09:38
- 日本語 意味とは何か? どこにあるのか?(Ⅱ) 4 2022/04/21 13:35
- Excel(エクセル) Excel-VBAの「しばらくお待ちください」のダイアログが自動的に閉じない 2 2023/05/24 15:31
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- Excel(エクセル) 【マクロ】フォルダAからダBへファイルを、ファイルの更新日時の条件で、1つづつ移動するには? 3 2022/08/25 09:56
- C言語・C++・C# char string[100]; int c, i=0; while( (c=getchar()) 2 2022/05/30 21:41
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- その他(悩み相談・人生相談) 「よ~く」という言葉について 3 2023/02/02 15:12
このQ&Aを見た人はこんなQ&Aも見ています
-
CString型の文字列連結について
C言語・C++・C#
-
【C++/CLI】int型からString型への変換
C言語・C++・C#
-
<unistd.h>をVisualStudioでつかえるようにする
C言語・C++・C#
-
-
4
ファイルやディレクトリの存在確認を行う方法
C言語・C++・C#
-
5
CStringからchar*への型変換について教えてください。
C言語・C++・C#
-
6
画面を強制的に再描画させる方法
C言語・C++・C#
-
7
テキストボックスからフォーカス外す
C言語・C++・C#
-
8
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
9
あるプログラムのコマンドライン引数を調べる方法について
その他(コンピューター・テクノロジー)
-
10
C++のfor文について
C言語・C++・C#
-
11
SYSTEM関数等を用いて複数のコマンドを打ち込みたい
C言語・C++・C#
-
12
CloseとDisposeの違い
Visual Basic(VBA)
-
13
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
14
【C#】DataGridViewの最大列数について
システム
-
15
UMLでの例外処理
その他(プログラミング・Web制作)
-
16
C++/CLIのオブジェクト型配列
C言語・C++・C#
-
17
C++/CLIにてForm1の要素に外部から
C言語・C++・C#
-
18
VC++でUTF-8のファイルを出力したい
C言語・C++・C#
-
19
適切な変換関数が存在しない???
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
String^の^自体が何を意味して...
-
VB と VC++ と VC#の違いは?
-
Windows Media Playerを開くと...
-
麻雀ソフトのソースコード
-
itunesで・・・
-
outp関数について
-
オブジェクトブラウザの「stdol...
-
システムコールと標準ライブラ...
-
画像の2値化について
-
設定ファイルを扱うライブラリ...
-
【VC++】MFC、C++/CLI(CLR)、...
-
Dreamweaverのライブラリが反映...
-
VB.NET とドットNET(.NET...
-
Visual Basic 6.0における自己...
-
iPhotoのライブラリが肥大化
-
C言語について。
-
【C言語】行列のランク(階数)...
-
フーリエ変換やFFTのプログラム
-
C#のゲーム作成
-
ヤフー知恵袋みたいなサイトを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
String^の^自体が何を意味して...
-
VB と VC++ と VC#の違いは?
-
なぜHTMLのソースコードが無料...
-
ペイントチャットソフトに適し...
-
パソコン
-
C言語を独学でマスターした人。。
-
iOSゲームアプリが作りたいと思...
-
職業訓練コースの選択
-
VC++とVC#の違いを教えて下さい
-
clock_gettimeでミリ秒の時間差...
-
HTMLってホームページ以外どん...
-
c言語はどのくらい出来るように...
-
C++を学ぶためにCの知識は必須...
-
C言語を学びたいのですが・・・...
-
WordPressのサイトをオリジナル...
-
C#のクラスが理解出来ない
-
簡単なシューティングゲームの...
-
C言語で自動販売機のプログラ...
-
独学でC++
-
VBの入手方法
おすすめ情報