[OpenWalnut-Dev] Bitte beachten: Asserts werden nicht immer ausgeführt.

Alexander Wiebel wiebel at cbs.mpg.de
Wed Mar 3 22:59:08 CET 2010


Hallo Leute,
bitte beachtet, dass assert Anweisungen nicht immer ausgeführt werden. Um genau zu sein in einigen Linux-Distributionen und unter Windows wird es im release mode nicht ausgeführt. Das ist unangenehm beim debuggen. Das schlimmste was passieren kann ista llerdings folgendes:

assert( m_viewers.insert( make_pair( name, viewer ) ).second == true );

Bitte NIE in ein assert eine Anweisung die irgend eine Änderung (z.B. Zuweisung, oder wie hier insert) vornimmt hinein schreiben. Diese Anweisung wird dann im release mode nicht ausgeführt. Das kann sehr unangenehm sein. Im obigen fall bedeutet es, dass der viewer nicht in die Liste eingefügt wird.

Also nochmal:

--> NIE in ein assert eine Anweisung die irgend eine Änderung vornimmt hinein schreiben!! <--

Gruß Alex


More information about the OpenWalnut-Dev mailing list