vc++ 8.0
-
Joa, aba solange bin ich nocht nicht hier...

-
Kann man das auch ohne .NET-Konto saugen?
-
nicht von m$ (wenn du passport meinst)
-
Warum will MS, dass ich passport verwende?
-
und darüber hinaus: was hat das alles mit c++ zu tun??

-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Neuigkeiten aus der realen Welt verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
wenn du passport verwendest weiß m$, dass die emailadresse die du benutzt wirklich deine ist. und du stimmst mit sicherheit irgendwelchen schrecklichkeiten zu, die im lizenzvertrag stehn

-
Lohnt sich das überhaupt, sich damit zu beschäftigen?
-
Für C# hat es sich gelohnt, aber da gab es ja auch sprachliche Änderungen.
-
Erhard Henkes schrieb:
Lohnt sich das überhaupt, sich damit zu beschäftigen?
Jo,
ich würd schon sagen, dass sich das lohnt. In VS 8 gibt es eine neue Erweiterung zu C++, genannt C++/CLI, die C++ voll unterstützt (obs wirklich der volle Standard ist, weiß ich nicht, VS 7.1 hat ihn ja (laut MS) auch nur zu 98% unterstutzt).
Zusätzlich gibt es noch Erweiterungen, um .net zu unterstützen (das ist von mC++ bekannt). Unterstützt werden u.A. Generics, Delegates, Events, Attribute, statische Konstruktoren, statische operatoren, Handles, GC, foreach, ...
Hier ein Beispiel (für delegates):
delegate int MyFunction(int value); // definiert ein Delegate public ref struct A { static int Square(int i) { return i * i; } }; public ref struct B { int Cube(int i) { return i * i * i; } }; int main() { int result; MyFunction^ d; // Erzeugt eine Instanz des Delegates d = gcnew MyFunction(&A::Square); B^ b = gcnew B; d += gcnew MyFunction(b, &B::Cube); result = d(10); // Rufe Funktion des Delegate auf Console::WriteLine(S"d(10) result = {0}", result); Console::WriteLine(S"d(20) result = {0}", d(20)); }Beispiel (für neue Überschreibungssyntax):
struct A { virtual void f(); }; struct B { virtual void f(); }; struct D1 : A, B { virtual void x() = B::f; // D1::x überschreibt B::f }; struct D2 : A, B { virtual void x() = A::f, B::f; // D2::x //überschreibt A::f und B::f }; struct D3 : A, B { virtual void x() = f; // D3::x überschreibt A::f und B::f }; struct D4 : A, B { virtual void x() = A, B; // Fehler, weder A noch B //hat eine virtuelle Methode x };
-
mal ne ganz dumme hinterwäldlerfrage:
ist C# zwingend komponente von .NET, also brauche ich .NET-runtimes wenn ich C# nutze?und nochwas: ich habe mal eine exe gesehen, in der stand was von vc und .NET drin, lief aber ohne .NET...
kann ich also mit dem neuen vc .NET (oder wie auch immer das jetzt offiziell heisst) auch normale nicht-.NET-programme erstellen?greets,
---loki
-
C# ist eine Sprache, für die es unterschiedliche Implementierungen gibt, u.a. .Net von Microsoft und .Gnu von Microsoft-Gegnern.
C++.Net würde implizieren, dass du das .Net Framework nutzen willst. Amsonsten kannst du mit dem Compiler auch noch ganz normale Standard-C++ Anwendungen entwickeln. Der Compiler kann allerdings nur Windows-binaries erstellen.
-
Macht es Sinn, sich auf die Kombination C++ / .NET / WindowsForms einzulassen oder sollte man, sobald man sich für .NET / WindowsForms entscheidet, konsequent auf C# umstellen?
-
Ich finde C# sprachlich besser (subjektiv) und insbesondere die Benutzung des .Net Frameworks ist unter C# auch _wesentlich_ schöner und weniger umständlich (objektiv).
-
Erhard Henkes schrieb:
Macht es Sinn, sich auf die Kombination C++ / .NET / WindowsForms einzulassen oder sollte man, sobald man sich für .NET / WindowsForms entscheidet, konsequent auf C# umstellen?
abwarten was Visual Studio 2005 bringt.
Da wird managed C++ in neue Dimensionen geführt - weil man dort echtes C++ und managed C++ (also .NET) in einer Binary mischen kann.Was es bringt und wie das sein wird: keine Ahnung - da muss man wohl warten.
Aber momentan sollte C# die erste Wahl sein.
-
Hallo
Shade Of Mine schrieb:
Da wird managed C++ in neue Dimensionen geführt - weil man dort echtes C++ und managed C++ (also .NET) in einer Binary mischen kann.
huh ? Ich dacht', das könne man jetzt schon. Was verstehst du in diesem Zusammenhang unter "echtem C++" ?
mfg
-
CanDL schrieb:
Was verstehst du in diesem Zusammenhang unter "echtem C++" ?
Na echtes C++ - so wie man C++ nunmal kennt. Ohne die Verkrüppelungen durch .NET
Mit Templates, mit Mehrfachvererbung, mit allem. Eben C++, im gegensatz zu managed C++
-
Das kann man aber auch jetzt schon. Vielleicht konnte man das in der Version 7.0 noch nicht, aber die wurde abgelöst...
-
CanDL schrieb:
Das kann man aber auch jetzt schon. Vielleicht konnte man das in der Version 7.0 noch nicht, aber die wurde abgelöst...
Wäre mir neu. Kannst du Code oder einen Link posten?
-
c++eus schrieb:
Beispiel (für neue Überschreibungssyntax):
struct A { virtual void f(); }; struct B { virtual void f(); }; struct D1 : A, B { virtual void x() = B::f; // D1::x überschreibt B::f }; struct D2 : A, B { virtual void x() = A::f, B::f; // D2::x //überschreibt A::f und B::f }; struct D3 : A, B { virtual void x() = f; // D3::x überschreibt A::f und B::f }; struct D4 : A, B { virtual void x() = A, B; // Fehler, weder A noch B //hat eine virtuelle Methode x };Shade Of Mine schrieb:
CanDL schrieb:
Was verstehst du in diesem Zusammenhang unter "echtem C++" ?
Na echtes C++ - so wie man C++ nunmal kennt. Ohne die Verkrüppelungen durch .NET
Mit Templates, mit Mehrfachvererbung, mit allem. Eben C++, im gegensatz zu managed C++
wenn ich mir das ankucke (oberes zitat) ist das doch auch kein standard c++ nur ein anderes mc++