🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #387

Problem z konstruktorem kopiujacym

#387
From: Karpierz
Date: Mon, 01 Dec 1997 21:35
21 lines
1695 bytes
Witam wszystkich piszacych w C++.
Mam prosbe o podanie rozwiazania problemu (dla mnie dosc powaznego).
Jak mianowicie wykryc na etapie kompilacji wszystkie miejsca w ktorych
jest wywolywany konstruktor kopiujacy danej klasy.
Reczne  przegladanie programu nie wchodzi w gre gdyz kod zrodlowy
liczy ok 8MB.
Problem jest o tyle zlozony ze klasa jest nieporzadnie zaprojektowana
i program niekiedy ma prawo sie wysypac jezeli jest tworzony dynamicznie
lub na stosie nowy obiekt tej klasy. Mozliwe jest jedynie referencyjne
odwolanie do obiektu stworzonego raz przy starcie programu. 
Podobna sprawa jest z operatorem przypisania ale tu jest mozliwosc
takiej sztucznej jego implementacji ze zwracanym wynikiem bedzie 
jakis sztuczny typ lub void i kompilator sie zbuntuje.
W przypadku konstruktora kopiujacego niestety ta metoda nie jest mozliwa.
Opuszczenia konstruktora spowoduje wygenerowania domyslnego wiec
tez nic to nie da.
Wszelkie pomysly mile widziane ! :)  Z gory dziekuje za pomoc.
-- 
Pozdrawiam                                         Adam Karpierz   
mailto:karpierz@intertele.pl
http://www.intertele.pl/users/karpierz 
Technical Details
Message-ID: <01bcfea1$1cc69f60$94baccc2@karpierz.dyn.ml.org>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!news.nask.pl!usenet

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!news.nask.pl!usenet
From: "Karpierz" <karpierz@inter.intertele.pl>
Newsgroups: pl.comp.lang.c
Subject: Problem z konstruktorem kopiujacym
Date: 1 Dec 1997 21:35:33 GMT
Organization: Public NewsServer at NASK N.O.C.
Lines: 21
Message-ID: <01bcfea1$1cc69f60$94baccc2@karpierz.dyn.ml.org>
NNTP-Posting-Host: ppp148.intertele.pl
X-Newsreader: Microsoft Internet News 4.70.1161
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit