🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #15186

Re: Wyjątki w konstruktorze

#15186
From: Sektor van Skijlen
Date: Tue, 29 Aug 2006 12:53
57 lines
3987 bytes
Dnia Sun, 27 Aug 2006 10:09:28 -0500, A.L. skrobie:
> On Sun, 27 Aug 2006 16:43:16 +0200, Marcin 'Qrczak' Kowalczyk
> <qrczak@knm.org.pl> wrote:

> >A.L. <alewando@fala2005.com> writes:
> >
> >> Doskonalosc techniczna" oddaje najlepiej nastepujacy cytat,
> >> potwierdzajacy to co od dawna wiadomo, a mianowicie ze C++ powstaje
> >> "metoda alchemiczna": Wkladamy troche g... do sloika i potrzasamy.
> >> Potem patrzymy co wyszlo. Jak rowneiz to ze tworcy jezyka nie sa
> >> w stanie zrozumeic co robia. Widac jest za trudny dla nich.
> >
> >C++ nie jest pod tym względem, nomen omen, wyjątkiem.
> >
> >http://java.sun.com/j2se/1.5.0/docs/guide/misc/threadPrimitiveDeprecation.html

> Czy sa jakies konstrukcje w C++ ktore oficjalnie zostaly uznane za
> "deprecated"?

Tak.

 - konwersja napisu w cudzysłowiu na typ char* przy inicjalizacji
 - użycie operatora ++ na zmiennej typu bool (powoduje powstanie wartości
   true; operator -- z kolei nie jest dozwolony)
 - użycie modyfikatora static w tym znaczeniu, co w języku C
 - deklaracje dostępu ("prywatyzacja" i "upublicznianie" elementów z klas
   bazowych)
 - używanie plików nagłówkowych z biblioteki C (np. <stdio.h>).
 - klasa strstream i jej pochodne

Co ciekawe, nie wspomniano o "obleśnym rzutowaniu" - jest ono zatem deprecated
tylk nieoficjalnie.

Dla wszystkich tych właściwości są zaproponowane alternatywy:

 - używanie dla napisu w cudzysłowiu const char* (a najlepiej w ogóle string)
 - dla typu bool używanie konstrukcji "= true"
 - używanie anonimowych przestrzeni nazw
 - deklaracje using
 - używanie plików nagłówkowych przeznaczonych dla C++ (np. <cstdio>)
 - klasa stringstream i jej pochodne

Zamiast obleśnego rzutowania zaś należy stosować odpowiednie do sytuacji
operatory konwersji.

Żadna z opisanych właściwości nie powoduje błędnego działania aplikacji;
właściwości te są jedynie niezalecane z uwagi na to, że mogą wylecieć w
następnym standardzie. Część z nich jest związana ze zgodnością z językiem C i
jest to tylko niechętny ukłon w stronę tych, którzy nie chcą ślęczeć godzinami
nad dostosowaniem swojej aplikacji do C++. Inne (w szczególności deklaracje
dostępu i strstream) to podobnie, kwestia zgodności z ARM C++.

-- 
//  _    ___         Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl>
\\ L_ |/ `|  /^\ ,()                         <ethouris(O)gmail.com>
// \_ |\  \/ \_/ /\ C++ bez cholesterolu: http://www.intercon.pl/~sektor/cbx
"I am allergic to Java because programming in Java reminds me casting spells"
Technical Details
Message-ID: <ed1dcp$eq6$1@kujawiak.man.lodz.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsfeed.silweb.pl!news.man.lodz.pl!not-for-mail
References: <1156145142.606030.39100@m73g2000cwd.googlegroups.com> <ece4m4$88j$1@inews.gazeta.pl> <ecesvp$k3h$3@kujawiak.man.lodz.pl> <eci6qt$h30$1@inews.gazeta.pl> <ch3qe25s17dild5v1m7ei4c43b0n2tka4e@4ax.com> <ecm9eg$g71$4@kujawiak.man.lodz.pl> <a1l0f215rtj4kj6o35sora0fd2bl0qn0k9@4ax.com> <87lkpbs6yq.fsf@hector.domek> <ecs10b$795$1@srv.cyf-kr.edu.pl> <i0b3f25nvj9fr6ats7kjvntr20g3gsruiu@4ax.com> <87lkpa5jej.fsf_-_@qrnik.zagroda> <1cd3f2dfg0gqs01pvue2j2v6916gua5pai@4ax.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsfeed.silweb.pl!news.man.lodz.pl!not-for-mail
From: Sektor van Skijlen <ethouris@guess.if.gmail.com.is.valid.or.invalid>
Newsgroups: pl.comp.objects
Subject: Re: Wyjątki w konstruktorze
Date: Tue, 29 Aug 2006 12:53:45 +0000 (UTC)
Organization: LODMAN - Metropolitan Area Network in LODZ, Poland
Lines: 57
Sender: Michal Malecki <sektor@zly.kis.p.lodz.pl>
Message-ID: <ed1dcp$eq6$1@kujawiak.man.lodz.pl>
References: <1156145142.606030.39100@m73g2000cwd.googlegroups.com> <ece4m4$88j$1@inews.gazeta.pl> <ecesvp$k3h$3@kujawiak.man.lodz.pl> <eci6qt$h30$1@inews.gazeta.pl> <ch3qe25s17dild5v1m7ei4c43b0n2tka4e@4ax.com> <ecm9eg$g71$4@kujawiak.man.lodz.pl> <a1l0f215rtj4kj6o35sora0fd2bl0qn0k9@4ax.com> <87lkpbs6yq.fsf@hector.domek> <ecs10b$795$1@srv.cyf-kr.edu.pl> <i0b3f25nvj9fr6ats7kjvntr20g3gsruiu@4ax.com> <87lkpa5jej.fsf_-_@qrnik.zagroda> <1cd3f2dfg0gqs01pvue2j2v6916gua5pai@4ax.com>
NNTP-Posting-Host: zly.kis.p.lodz.pl
Mime-Version: 1.0
X-Trace: kujawiak.man.lodz.pl 1156856025 15174 212.191.89.2 (29 Aug 2006 12:53:45 GMT)
X-Complaints-To: abuse@man.lodz.pl
NNTP-Posting-Date: Tue, 29 Aug 2006 12:53:45 +0000 (UTC)
User-Agent: tin/1.6.2-20030910 ("Pabbay") (UNIX) (SunOS/5.9 (sun4u))
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit