Chcę poznać różnicę między C++ a celem-c oraz celem-C++. Może ktoś dać mi różnicy i możemy użyć C++ dla iPhone rozwojuJaka jest różnica między C++, cel-c i cel-C++?
Dziękuję Madan Mohan
Chcę poznać różnicę między C++ a celem-c oraz celem-C++. Może ktoś dać mi różnicy i możemy użyć C++ dla iPhone rozwojuJaka jest różnica między C++, cel-c i cel-C++?
Dziękuję Madan Mohan
C++ jest językiem Bjarne Stroustroup opartym na dodawaniu klas i metaprogramowania do C w taki sposób, że wkłada najwięcej dodatkowej pracy do kompilatora, i polega na najmniejszym możliwym wysiłku w środowisku wykonawczym.
Objective-C to język Brad Cox oparty na dodawaniu biblioteki uruchomieniowej dynamicznej przekazującej komunikaty w stylu SmallTalk do C, z niewielką ilością dodatków do składni, aby ułatwić jej używanie.
Objective-C++ to, mówiąc wprost, co można uzyskać po dodaniu środowiska wykonawczego Objective-C i składni do C++. Ma swoje ograniczenia (np. Nie można utworzyć podklasy Objective-C klasy C++ lub na odwrót, a Objective-C nie lubi przestrzeni nazw C++), ale pozwala na użycie klas C++ z obiektów Objective-C i na odwrót .
Możesz używać Objective-C++ w rozwoju iPhone'a. Oznacza to praktycznie, że można napisać aplikację, której modelem obiektowym jest całkowicie C++, gdzie warstwa kontrolera musiałaby współpracować z Objective-C, aby móc korzystać z interfejsów API Cocoa Touch.
Dodam również, że Objective-C jest * ścisłym * nadzbiorem C, a C++ nie. https://secure.wikimedia.org/wikipedia/en/wiki/Compatibility_of_C_and_C%2B%2B –
Objective-C++ to świetny sposób na wykorzystanie szablonów STL takich jak wektor i mapa - dla których nie ma dobrych, niskich kosztów analogi w kakao. – westsider
) Można podać dowolny przykładowy kod, który zawiera zarówno Objective-C i C++. –
C++ i Objective C były/są dwa różne podejścia do dodawania orientację obiektu do C. Bieżący cel Kompilatory C również akceptują C++ jako dane wejściowe, więc możesz zbudować program z pewnymi plikami napisanymi w Objective-C i innych plikach napisanych w C++. Kiedy używa się C++ w ten sposób, często nazywa się Objective-C++.
Dobra, dziękuję. Czy możemy użyć C++ do rozwoju iPhone'a –
@Madan: Tak. Musisz użyć przynajmniej małego Celu C, w którym twój kod łączy się z wbudowanymi bibliotekami iPhone'a, ale możesz używać C++ do prawie wszystkiego innego. –
1) C++ to język wywodzący się z języka C, który dodaje funkcję Object Orientation (OO) do innych funkcji. *
2) Objective-C to język wywodzący się z C, który dodaje Object Orientation (OO) do innych funkcji. *
3) Objective-C++ jest Objective-C, z którego możesz korzystać z klas C++.
Możesz używać C++ do rozwoju iPhone'a, ale będziesz potrzebować "trochę" kodu Objective-C do połączenia z bibliotekami iPhone'a.
(*) Chociaż oboje starają się rozwiązać ten sam problem, robią to zupełnie inaczej. Jest kilka informacji na temat różnic w wikipedia i jestem pewien, że możesz użyć google, aby znaleźć więcej.
Możesz używać C++ do rozwoju iPhone'a, ale będziesz potrzebować "trochę" kodu Objective-C do połączenia z bibliotekami iPhone'a.
To bardzo prawdopodobne, że dostaniesz kod i prawdopodobnie rozdęcie pamięci. Jak wiecie, programowanie na iOS powinno być możliwie najdłuższe: zminimalizować zarówno rozmiar biblioteki, jak i potrzeby pamięci runtime. Środowisko programowania i środowiska wykonawcze w języku iOS są również wysoce zoptymalizowane pod kątem Obiektywu Celu C.
Czysty ObjC jest znacznie lepszy niż C++ dla iOS. Chyba że próbujesz użyć istniejącej dużej bazy kodu w C++, prawdopodobnie lepiej będzie napisać od nowa. Prawie wszystkie C++ STL mają analogi w ramach iOS, często łatwiejsze w użyciu i wysoce zoptymalizowane przez Apple. Dowiedz się, jak zarządzać pamięcią C celu C, zapoznać się z ramami i przejść do niego.
korekta: jeśli używasz obu języków bardzo dobrze, a rozmiar binarny i zużycie pamięci to twoje najważniejsze priorytety, C++ będzie zazwyczaj mniejszy w rozmiarze binarnym * i * zużyciu pamięci. dodatkowa premia: programy C++ będą generalnie wykonywać szybciej niż programy obstawione. nie przejmuj się przepisaniem istniejących programów C++ jako programów obstawiających. – justin
Objective-C++ ?! Nigdy o tym nie słyszałem. Czysty C++ jest "obiektywny", więc nie widzę żadnego powodu, aby Obj-C++ istniał. Proszę popraw mnie jeżeli się mylę. – rhino
@rhino: Objective-C++ to po prostu Objective-C (i jego frameworki) z kodem C++. Pure C++ nie jest obiektywny, jest obiektowy. – BoltClock
@rhino: jesteś w błędzie. –