Vlákno názorů ke článku Minimalistický http server v C++ od kutr - "Někdo vám nahoře napsal, že to právě ještě...

  • 2. 10. 2018 16:56

    kutr (neregistrovaný)

    "Někdo vám nahoře napsal, že to právě ještě není vyřešeno, takže až to norma vyřeší, tak to začnu používat po novu. Zatím pořád anonymní namespace má external linkage, bohužel."

    No nevim:
    § 6.5.4
    An unnamed namespace or a namespace declared directly or indirectly within an unnamed namespace has
    internal linkage. All other namespaces have external linkage.

    static totiž neumožňuje nastavit internal linkage pro struktury šablony apod. Proto se ho snažili zrušit a vrátil se jen kvůli zpětné kompatibilitě s C.

  • 2. 10. 2018 17:11

    Ondřej Novák

    @kutr

    No ale stejně to je nějaký rozbitý, protože kdyby to mělo internal linkage, tak to nejde přeložit, protože tam používám v šablonách pointery jako argument, který vyžadují mít external linkage, přestože jsou v anonymním namespace, tak si překladač nestěžuje.

    Nicméně nevidím nic špatného na tom používat static u funkcí. Stejně tak se můžeme hádat, jestli je lepší použít typedef nebo using, constexpr nebo static const, atd... a to nikam nevede. Kdyžtak na google najdete hodně takových diskuzí, jestli máte potřebu se hádat, tak směle do toho.

    Asi by bylo lepší postupně odhodit deprecated nástroje ze starších verzí C++, ale jak říkám, dokud v tom není jasno, já jsem opatrnej.