- PR -

C++ の ->

1
投稿者投稿内容
未記入
大ベテラン
会議室デビュー日: 2005/08/25
投稿数: 145
投稿日時: 2007-01-23 22:12
私、C#でプログラミングしているものです。

C++の"->"とういのはC#では、何に当たるのでしょうか?
ご存知の方教えていただけると幸いです。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-01-23 22:12
.


さすがに、これだけじゃわかんないね。
コード:

ClassA *a = new ClassA();
a->someProperty = 1;


コード:

ClassA a = new ClassA();
a.someProperty = 1;



[ メッセージ編集済み 編集者: Jitta 編集日時 2007-01-23 22:14 ]

[ メッセージ編集済み 編集者: Jitta 編集日時 2007-01-23 22:14 ]
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-01-23 22:24
引用:

未記入さんの書き込み (2007-01-23 22:12) より:

私、C#でプログラミングしているものです。
C++の"->"とういのはC#では、何に当たるのでしょうか?


'->' は、アロー演算子と言います。
'::' は、スコープ解決演算子と言います。

どちらも C# では '.' です。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2007-01-24 00:02
大雑把なイメージで言うと以下のような感じでしょうか。

C# の値型使用時が C++ の . にあたる。

コード:

[C#]
Struct1 s = new Struct1();
s.Method();
[C++]
Class1 c;
c.Method();




C# の参照型使用時が C++ の -> にあたる。

コード:

[C#]
Class1 c = new Class1();
c.Method();
[C++]
Class1* c = new Class1();
c->Method();




ついでに、スコープ解決演算子は

コード:

[C#]
Class1.Method();
[C++]
Class1::Method();




C# は全て . で賄ってます。



[ メッセージ編集済み 編集者: 囚人 編集日時 2007-01-24 00:03 ]
未記入
大ベテラン
会議室デビュー日: 2005/08/25
投稿数: 145
投稿日時: 2007-01-24 23:14
みなさん、どうもありがとうございます。
あと、宣言するときは*なのですね。
+α教えていただきました。ありがとうございます。
Blue
大ベテラン
会議室デビュー日: 2005/09/12
投稿数: 230
お住まい・勤務地: 知っている人は知っている
投稿日時: 2007-01-24 23:42
引用:

あと、宣言するときは*なのですね。


これは微妙です。

CLR(.NET Frameworkを使う)プロジェクトの場合(C++/CLIと呼びます)、
.NET Frameworkのクラスを扱う場合VS2005では ^ を使います。
そして、オブジェクトを作成するときは gcnew を使います。
たとえば
コード:
C#
String s = new String("ほげ");


ならば
コード:
C++/CLI
String^ s = gcnew String("ほげ");


となります。

"C++の"となると、*しかないですけれど。

ここら辺は、基本中の基本になるので少しでも不安があるのであれば
入門書を読まれるのを薦めます。
1

スキルアップ/キャリアアップ(JOB@IT)