• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Gdzie mogę znaleźć nowinki o C++?

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
+2 głosów
1,114 wizyt
pytanie zadane 13 lipca 2015 w C i C++ przez k222 Nałogowiec (30,150 p.)
Czytam aktualnie książkę o programowaniu (Symfonię) i w niej autor wspomina czasem że coś w C++ zostało ulepszone lub dodano coś. No i fajnie że poprawiają ten język bo nic nie jest doskonałe, ale gdzie jest napisane co się konkretnie zmieniło lub chociaż informacja że coś się zmieniło?

4 odpowiedzi

+2 głosów
odpowiedź 13 lipca 2015 przez Buby Pasjonat (19,590 p.)
wybrane 14 lipca 2015 przez k222
 
Najlepsza
Hmm...Raz na kilka lat wypuszczany jest zbiór nowinek oraz poprawek i określa się go mianem standardu. Obecnie ostatnim standardem, który został wypuszczony, jest C++11, zwany także jako Cpp0x.

Tutaj w miarę przydatny opis nowinek. Nie mam pojęcia, czy opisane są wszystkie, ale na pewno pokaźna ilość.

https://pl.wikipedia.org/wiki/C%2B%2B11

 

Trwają także prace nad C++14 oraz C++17. Tutaj strona wikipedia na temat C++14:

https://en.wikipedia.org/wiki/C%2B%2B14
komentarz 13 lipca 2015 przez Sebastian Fojcik Nałogowiec (43,040 p.)
Trwają pracę nad C++14 aczkolwiek w tym standardzie piszę wszystkie swoje programy od roku. Tak na prawdę nie wiem jak się deklaruje w którym standardzie języka piszemy, ale wiem, że Visual Studio zawsze dba o to, aby użytkownik pisał w tym najnowszym :)
komentarz 13 lipca 2015 przez Buby Pasjonat (19,590 p.)
Hmm...A mógłbyś podać jakieś dobre źródło, oczywiście oprócz angielskiej wikipedii, w którym mógłbym znaleźć jakiś przykładowy kod oraz opis zmian? :)

Jeśli mógłbyś, to na prawdę byłbym Ci wdzięczny.

Btw. zastanawiam się na instalacją VisualStudio, ponieważ mam darmowy klucz z DreamSpark, jednak jakoś interfejs tworzenia projektów mnie odrzuca. Może masz jakąś dobrą metodę, aby pozbyc się tej niechęci? ;p
komentarz 13 lipca 2015 przez Dash Nałogowiec (29,650 p.)
c++14 to masakra jakaś. 5 caluśkich dni spędziłem żeby pokompilować moje biblioteki, bo jednej się zachciało właśnie tego standardu, a reszta z nowym MinGW wariowała....Czy ludzie nie moga sie opanować i wszystkiego w miarę jednolicie robić ? :/
komentarz 13 lipca 2015 przez adrian17 Mentor (354,120 p.)

Trwają pracę nad C++14

Prace nad C++14 zakończyły się pół roku temu.

Btw. zastanawiam się na instalacją VisualStudio, ponieważ mam darmowy klucz z DreamSpark,

Nie potrzebujesz Dreamsparka bo VS community jest darmowy (też od pół roku) i ma dokładnie to samo co dawny Professional. Wstrzymaj się jeszcze tydzień, dwudziestego wychodzi VS2015.

c++14 to masakra jakaś.

Wiń biblioteki. No i korzystanie z portu GCC na Windowsa to zawsze ryzyko.

ale wiem, że Visual Studio zawsze dba o to, aby użytkownik pisał w tym najnowszym

Lol. Nie, VS jest właśnie znany ze znacznie wolniejszego niż GCC i Clang przyswajania standardu -  w VS2015 w końcu będą mieli pełne wsparcie dla C++11... prawie. Wsparcie obiecują uzupełnić do końca w późniejszym updacie. (Na pocieszenie, ich zespół biblioteki standardowej radzi sobie znacznie lepiej.)

komentarz 17 lipca 2015 przez Sebastian Fojcik Nałogowiec (43,040 p.)
edycja 19 lipca 2015 przez Sebastian Fojcik

@Buby
Ale jaki interfejs Cię odrzuca? Ten od konsolowych czy Windows Forms i WPF?
Ja pracuje w tym środowisku od lat i nie testowałem innych poza Code::Blocks. Być może zbyt krótko, aby tutaj oceniać jego możliwości. Visual stanie się Twoim przyjacielem dopiero, gdy nauczysz się korzystać z wielu funkcji, mających na celu ułatwienie Ci pisania kodu.
Pokaże jeden przykładzik. Nie mam Code::Blocks, więc jeżeli jest tam identyczna funkcja, to przepraszam:
Po wybraniu metody i wpisania nawiasu otrzymujemy podpowiedź w postaci wszystkich przeładować tej metody. Jest to niezwykle przydatne, bo nierzadko sięganie w tym momencie do dokumentacji biblioteki będzie zbędne.
Przy okazji widać, że metoda "open" przyjmuje jako argument obiekt "string". Kiedyś w Code:Blocks kompilując program z Visuala nie zaakceptował stringa.

Ogólnie to nie mam żadnego interesu w tym, aby Ciebie przekonywać. Choć i tak wiele razy na tym forum wskazywałem na wyższość Visuala nad innymi środowiskami. Przepraszam, już nie będę :-). Sam musisz się przekonać, więc subiektywnie wypróbuj program.
 

@adrian17
Najpewniej pomyliłem pojęcia między wersją języka, a bibliotekami o czym słusznie wspomniałeś. Ale wyjaśnię Ci skąd się wziął mój błąd.

Pół roku temu pisałem program na SPOJ i w moim programie używałem STL i jeszcze jakiś innych matematycznych funkcji z biblioteki standardowej. Często korzystam ze strony c++ reference i jeszcze rzadna funkcja z wykrzyknikiem o nowym standardzie nie przysporzyła mi problemów. Do czasu gdy nie wysłałem programu na SPOJ. W każdym możliwym przypadku występował błąd kompilacji. Dopiero po wybraniu opcji (na SPOJu), że pgoram jest napisany w standardzie C++14.

Od tamtej pory wszystkie swoje kody przesyłam z deklaracją, że piszę je w C++14. Poza tym zaciekawiłem się kiedyś tym standardem i trafiłem na wpis blogowy, gdzie koleś opisywał zmiany i nowości w tym standardzie. Dał tam przykładowy kod. Wkleiłem go i skompilowałem. Program działał. Dla mnie to był jednoznaczny znak, że mogę pisać w najnowszym standardzie języka C++14.

komentarz 17 lipca 2015 przez Buby Pasjonat (19,590 p.)

Kiedyś nie zaakceptował stringa, bo string jest argumentem tej funkcji od wprowadzenia standardu C++11 - wcześniej był to łańcuch znaków języka C - tutaj dokumentacja jak coś.

Z tego co wiem, żeby Code::Blocks rozpoznawał nazwy z C++11 oraz zezwalał na kompilację trzeba dodać argument linkera. :)

A mnie w Visualu jakoś odrzucił interfejs tworzenia projektu - mam świadomość o wielu przydatnych funkcjach jak np. snippety itd, ale ta niechęć jest większa ;p

Może z czasem mi przejdzie i się przełamie :)

komentarz 19 lipca 2015 przez Sebastian Fojcik Nałogowiec (43,040 p.)

Tak racja. Wystarczyłoby dodać do opcji kompilacji takie polecenie:
-std=c++11
Wszystko by wtedy śmigało :)
Tak mi przynajmniej napisali na forum cpp0x.pl 

+1 głos
odpowiedź 13 lipca 2015 przez Sebastian Fojcik Nałogowiec (43,040 p.)
edycja 13 lipca 2015 przez Sebastian Fojcik

Jeśli czytasz sobie w zaciszu domowym Symfonię, to raczej jeszcze długo wszelkie zmiany nie będą dla Ciebie aż tak istotne. Ale jeśli jesteś ciekawy, to mogę dodać, że uruchamiając środowisko Visual, w ekranie powitalnym mamy odnośniki do stron, gdzie możemy przeczytać o konkretnych nowinkach, zmianach, nowościach.

Miałem taką sytuację, gdy zaczynałem programować (od początku w Visual), to używałem często funkcji getch() z biblioteki <conio.h>. Jakież było moje zdziwienie, gdy w pewnym momencie wywołanie owej funkcji dawało mi warning przy kompilacji. Wtedy jeszcze nie ogarniałem co się dzieje, a wystarczyło przeczytać w konsoli kompilacji powód warninga. Miałem wyraźnie napisane coś w stylu: "nazwa 'getch jest zdeprecyzowana i może niebawem wyjść z użycia. Zalecamy korzystanie z '_getch' w zamiast.".

Tak jest i teraz. W Code::Blocks w kursach Pana Mirosława funkcja getch() jeszcze przeszła, ale jeśli chcecie pisać w najnowszym standardzie języka i bibliotek, to musicie być na bierząco. Visual Studio w tym pomaga ;)

Obecnie wywołanie funkcji getch() zgodnie z zapowiedziami Microsoftu nie powoduje już warninga, ale błąd kompilacji.

Ale wcale nie jest to straczne, bo jak widać, program zasugerował mi od razu nową nazwę "_getch". Tak więc używam wszędzie _getch();

komentarz 13 lipca 2015 przez Pascal Bywalec (2,720 p.)
To ekran powitalny jest po Polsku oż w mor...
komentarz 17 lipca 2015 przez Sebastian Fojcik Nałogowiec (43,040 p.)

Nic nie stoi na przeszkodzie, aby pobrać ze strony Microsoftu polską paczkę językową. Potem wystarczy ją wybrać w opcjach.

Jednak czasami może to sprawiać problemy, gdy kompilator wypisuje błąd w języku polskim, a ty chcesz ten błąd wpisać w Google. Oczywiście aby znaleźć rozwiązanie, należy wpisać swój error po angielsku.

Czasami są też problemy, gdy musisz coś zmienić w opcjach. Masz wejść w zakładkę "Linker", a okazuje się, że w polskiej wersji nazywa się to "Konsolidator" :D
I tego typu niuanse :-)

komentarz 17 lipca 2015 przez Pascal Bywalec (2,720 p.)
Osobiście wolał bym Łacine kuchenną ale Polski język też może być :)
+1 głos
odpowiedź 13 lipca 2015 przez MrWeb Stary wyjadacz (10,180 p.)
0 głosów
odpowiedź 13 lipca 2015 przez criss Mędrzec (172,570 p.)

Nowinkami bym tego już nie nazwał, ale Kacper Kołodziej nieźle opisał ficzery z c++11 na swoim blogu: 

http://kacperkolodziej.pl/

Podobne pytania

0 głosów
1 odpowiedź 519 wizyt
pytanie zadane 31 grudnia 2022 w C i C++ przez Jerzy Użytkownik (950 p.)
+1 głos
1 odpowiedź 818 wizyt
+3 głosów
2 odpowiedzi 753 wizyt

93,440 zapytań

142,431 odpowiedzi

322,678 komentarzy

62,802 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

...