Wpis z mikrobloga

Siema programujące Mirki i Mirabelki! ( ͡º ͜ʖ͡º) Mamy dla Was nowy wpis z serii #programowanie w #jezykc i #cpp! ( ͡ ͜ʖ ͡)

Dziś dołączył do nas nowy autor: Dawid Pilarski ( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°) ͡°)
Dawid jest młodym programistą o potężnej wiedzy związanej ze standardem C++. Może to być związane z tym, że należy on do Komitetu Standaryzacyjnego C++ ()

Dziś zapraszam na wpis Dawida o tym, czym są lvalues, rvalues, glvalues, prvalues oraz xvalues ( ͡º ͜ʖ͡º)

https://cpp-polska.pl/post/podzial-wyrazen-ze-wzgledu-na-kategorie-wartosci-w-c ()

Prawdopodobnie słyszałeś o lvalue oraz rvalue. W czasach panowania C oraz C++ (przed standardem C++ 11) były one dość łatwe do rozróżnienia - lvalue, to były te wyrażenia, które mogły znajdować się po lewej stronie przypisania, a rvalue to cała reszta.

Od C++11 podział na wyrażenia stał się nieco bardziej skomplikowany. Poza znanymi l- i r-value mamy także gl-, x- oraz p-rvalue. W tym poście, chciałbym się przyjrzeć temu podziałowi nieco bardziej.


Miłego czytania! ʕʔ
Pobierz
źródło: comment_kysADYahcTYjBqxo2vpQVnepNQAkZmVc.jpg
  • 23
@WykresFunkcji: nam nie zależy jakoś mega na wynikach odwiedzalności - nie piszemy pod publikę/nie jest to nasz wyznacznik (choć im więcej osób nas czyta, to tym bardziej nas to cieszy). Każdy z nas robi to, co lubi - tak, jak lubi ( ͡° ͜ʖ ͡°) Jak znajdzie się ktoś, kto będzie chciał publikować po angielsku, to zrobimy subdomenkę, link w nawigacji i jazda ( ͡
@Chrzonszcz: To jest bardzo dobre pytanie, generalnie popularność w tym "segmencie rynku" wydaje mi się, że zdobywa Go i Rust, pierwszy jest prosty, bogaty w różne biblioteki i o ile nie potrzebujemy ręcznie zarządzać pamięcią to świetny do wielu zastosowań, np. w zastosowaniach sieciowych radzi sobie świetnie.

Rust natomiast zapewnia zero-cost abstraction, oferuje dobry guide wprowadzający w trudne koncepty, oferuje manualne zarządzanie pamięcią i co ważne, w bezpieczny sposób, zapewnia również
@adiq94: dla mnie C++ ma więcej braków niż nadmiaru. Choćby brak jakiegokolwiek generowania kodu, brak modułów, czy system budowania aplikacji/bibliotek wyciągnięty z lat 70 ubiegłego wieku
@Saly: C++ jest starym językiem, w dodatku sporo pilnuje kompatybilności wstecznej, która sięga bardzo daleko w przeszłość. Rozumiem, że nie każdemu on podchodzi i to jest OK. Ja jednak (i na pewno wiele osób) nie wyobrażam sobie świata programistycznego bez C++. Bo mi on odpowiada w 100% ()
@Saly: Moduły chyba mają wprowadzić od C++20, systemy budowania to niestety fakt, totalny dramat, brakuje przede wszystkim dokumentacji i dobrych przykładów do takiego choćby popularnego CMake'a, istnieje ponad 12 systemów buildów z których na początku nie wiadomo co wybrać i może dopiero Google Bazel podratuje sytuację.
Nie mniej jednak, wybór bibliotek jest ogromny , kiedyś np. rzucił mi się w oczy taki projekt POCO i generalnie byłem pod wrażeniem, scyzoryk szwajcarski
@Chrzonszcz: no siema, już rok naparzam ciekawe projekty w nowoczesnym c++. Najpierw przez 2 lata klepałem soft do robota pomagającego starszym ludziom, teraz soft do urządzenia do rozpoznawania twarzy i tęczówki. C++ jest popularny, ale jak ktoś całe życie strony internetowe robi może nie być tego świadomym
@CppPolska: