eGospodarka.pl

eGospodarka.plGrupypl.comp.programming › Stroustrup o C++
Ilość wypowiedzi w tym wątku: 43

  • 1. Data: 2019-01-12 11:46:11
    Temat: Stroustrup o C++
    Od: g...@g...com

    http://www.stroustrup.com/P0977-remember-the-vasa.pd
    f


  • 2. Data: 2019-01-12 17:52:03
    Temat: Re: Stroustrup o C++
    Od: AK <n...@n...net>

    On 2019-01-12 11:46, g...@g...com wrote:
    > http://www.stroustrup.com/P0977-remember-the-vasa.pd
    f

    Prozne zale (o min 10 lat za pozno...).

    PS:
    Tymczasem n/w smaczki w C/C++ wciaz maja sie dobrze:

    int main()
    {
    int x = 8;
    int y = sizeof(x++);
    // no wiec ile w tym miejscu wynosi sobie x ?
    }

    AK


  • 3. Data: 2019-01-12 19:37:21
    Temat: Re: Stroustrup o C++
    Od: s...@g...com

    x == 9; y == 4;
    Co w tym tajemniczego?!?


  • 4. Data: 2019-01-12 20:48:59
    Temat: Re: Stroustrup o C++
    Od: Wojciech Muła <w...@g...com>

    On Saturday, January 12, 2019 at 7:37:22 PM UTC+1, s...@g...com wrote:
    > x == 9; y == 4;
    > Co w tym tajemniczego?!?

    No właśnie nie, wyrażenie będące argumentem sizeof nie jest
    wyliczane (nie jest w ogóle kompilowane).

    Ale nie ma obaw, taki kod nie pojawia się poza usenetem. :)

    w.


  • 5. Data: 2019-01-13 06:13:20
    Temat: Re: Stroustrup o C++
    Od: A S <a...@e...pl>

    W dniu 2019-01-12 o 20:48, Wojciech Muła pisze:
    >
    > No właśnie nie, wyrażenie będące argumentem sizeof nie jest
    > wyliczane (nie jest w ogóle kompilowane).
    >

    Skoro nie jest kompilowane, to dlaczego np. tu jest błąd:

    int x = 8;
    int y = sizeof(x+);

    pozdr
    --
    A S


  • 6. Data: 2019-01-13 12:01:18
    Temat: Re: Stroustrup o C++
    Od: AK <n...@n...net>

    On 2019-01-12 20:48, Wojciech Muła wrote:
    > On Saturday, January 12, 2019 at 7:37:22 PM UTC+1, s...@g...com wrote:
    >> x == 9; y == 4;
    >> Co w tym tajemniczego?!?
    >
    > No właśnie nie, wyrażenie będące argumentem sizeof nie jest
    > wyliczane (nie jest w ogóle kompilowane).

    No wiec?
    Dlaczego parser C/C++ taki cus dopuszcza?
    sizeof to zwykly operator (a nie funkca), wiec nie ma
    przeszkod aby (nawet w gramatyce) taka restrykce zawrzec

    > Ale nie ma obaw, taki kod nie pojawia się poza usenetem. :)

    Tak :)? Zdziwil bys sie.

    AK


  • 7. Data: 2019-01-13 12:10:23
    Temat: Re: Stroustrup o C++
    Od: AK <n...@n...net>

    On 2019-01-12 20:48, Wojciech Muła wrote:
    > On Saturday, January 12, 2019 at 7:37:22 PM UTC+1, s...@g...com wrote:
    >> x == 9; y == 4;
    >> Co w tym tajemniczego?!?
    >
    > No właśnie nie, wyrażenie będące argumentem sizeof nie jest
    > wyliczane (nie jest w ogóle kompilowane).

    Co to znaczy, ze nie jest kompilowane?
    Kompilowane jest (parsowanie itd).
    Nie jest jedynie _generowany_ kod wyrazenia podlegajacego sizeof.
    Zamiast niego (wlacznie z sizeof) jest po prostu na etapie
    generacji kodu (a nawet mozna juz na etapie parsingu) wstawiana stała.

    PS: Poza tym nie ma tak wesolo (jak to zwykle w C:).
    Ja zawsze jest wyjatek (zrzeszta tu logiczny).
    Dla tablic dynamicznych (C99) (np. char tab[*]) sizeof jest wyliczany
    "on runtime".

    AK


  • 8. Data: 2019-01-13 12:13:09
    Temat: Re: Stroustrup o C++
    Od: AK <n...@n...net>

    On 2019-01-12 19:37, s...@g...com wrote:
    > x == 9; y == 4;
    > Co w tym tajemniczego?!?

    To se chopie wpierw sprawdz, czy na pewno 9.

    PS: No i widac jak dla dloni, ze nawet dla zaprzysieglych
    Ayatollahow i wieloletnich developerow C/C++ to wciaz zagadka ;)

    AK


  • 9. Data: 2019-01-13 13:19:55
    Temat: Re: Stroustrup o C++
    Od: Wojciech Muła <w...@g...com>

    On Sunday, January 13, 2019 at 12:01:20 PM UTC+1, AK wrote:
    > On 2019-01-12 20:48, Wojciech Muła wrote:
    > > On Saturday, January 12, 2019 at 7:37:22 PM UTC+1, s...@g...com wrote:
    > >> x == 9; y == 4;
    > >> Co w tym tajemniczego?!?
    > >
    > > No właśnie nie, wyrażenie będące argumentem sizeof nie jest
    > > wyliczane (nie jest w ogóle kompilowane).
    >
    > No wiec?
    > Dlaczego parser C/C++ taki cus dopuszcza?

    Przecież gramatyka właśnie dopuszcza, żeby argumentem
    operatora było **wyrażenie**. Bez tego nie byłbyś
    w stanie w plain C odczytać rozmiaru pola struktury.
    A tak piszesz sizeof((Typ*)0->pole) [przykład z praktyki,
    nie usenetu].

    > sizeof to zwykly operator (a nie funkca), wiec nie ma
    > przeszkod aby (nawet w gramatyce) taka restrykce zawrzec

    Jak pokazałem, takie ograniczenie byłoby bez sensu.
    W C++ odczyt typu wyrażenia umożliwia też decltype, które
    jest w wielu kontekstach niezbędne.

    w.


  • 10. Data: 2019-01-13 17:34:24
    Temat: Re: Stroustrup o C++
    Od: AK <n...@n...net>

    On 2019-01-13 13:19, Wojciech Muła wrote:
    > On Sunday, January 13, 2019 at 12:01:20 PM UTC+1, AK wrote:
    >> On 2019-01-12 20:48, Wojciech Muła wrote:
    >>> On Saturday, January 12, 2019 at 7:37:22 PM UTC+1, s...@g...com wrote:
    >>>> x == 9; y == 4;
    >>>> Co w tym tajemniczego?!?
    >>>
    >>> No właśnie nie, wyrażenie będące argumentem sizeof nie jest
    >>> wyliczane (nie jest w ogóle kompilowane).
    >>
    >> No wiec?
    >> Dlaczego parser C/C++ taki cus dopuszcza?
    >
    > Przecież gramatyka właśnie dopuszcza, żeby argumentem
    > operatora było **wyrażenie**. Bez tego nie byłbyś
    > w stanie w plain C odczytać rozmiaru pola struktury.

    E tam.
    Przy deklaracji tablic wymagane jest const_expr (ktore jest
    podsetem expr) i wszytsko gra.
    _Nic_ nie stoi na przeszkodzie, aby dla sizeof tez bylo
    subexpr (nie dopuszczajace operatorow pre-in-fixowych).

    >> sizeof to zwykly operator (a nie funkca), wiec nie ma
    >> przeszkod aby (nawet w gramatyce) taka restrykce zawrzec
    >
    > Jak pokazałem, takie ograniczenie byłoby bez sensu.

    Nie. Jest jak najbardziej sensowne.
    Problemem sa zapewne (jak zwykle) zaszlosci.

    AK

strony : [ 1 ] . 2 ... 5



Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: