tag:blogger.com,1999:blog-6651846374773877972023-11-15T14:50:07.464+01:00.sop3k.dev.blog..::programmer blog::..sop3khttp://www.blogger.com/profile/00787907126881011426noreply@blogger.comBlogger4125tag:blogger.com,1999:blog-665184637477387797.post-15673488598722122232008-03-18T11:14:00.008+01:002008-03-18T11:43:48.113+01:00Tworzenie tablic obiektów w C#Moze to naleciałości z C++, ale dziwna rzeczą okazało sie dla mnie inicjalizowanie tablicy obiektóww C# null'ami. Tworząc sobie tablice:<br /><span> <br />class MyType{<br />}<br />MyType[] array = new MyType[10];</span><br /><br />Okazuje sie ze wszystkie elementy array sa ustawnione na null, dzieje sie tak ponieważ podczas tworzenia tablicy w C#, podobnie jak w C++ wywoływany jest konstruktor domyslny obiektów przechowywanych, jako że array przechowuje tylko referencje do obiektow to wywolywany jest konstruktor domyslny referencji a ten ustawia ja na null. Aby tego uniknać mozna recznie napisać pętle wszedzie gdzie tworzymy tablice:<br /><span><br /><span><span>for(uint i=0; i < array,Length; i++)<br /></span><span> array[i] = new MyType();<br /><br />Jednak lepiej jest napisac raz i spokój, ja napisałem , może komuś sie przyda.<br /><span><br /></span><span><span><span>namespace Utillity{<br /> class Arraytil{<br /> public static T[] CreateArray<t>(uint size)<br /> where T : new()<br /> {<br /> T[] array = new T[size];<br /> for (uint i = 0; i < size; i++)<br /><span><span><t> array[i] = new T()<br /> return array;<br /> }<br /> }<br />}<br /><br />Używamy intuicyjnie:<br />using Utility;<br />MyType[] array= ArrayUtil.CreateArray<MyType><mytype><span><span><t><mytype>(10);sop3khttp://www.blogger.com/profile/00787907126881011426noreply@blogger.com2tag:blogger.com,1999:blog-665184637477387797.post-45457474408114725172007-12-06T15:20:00.002+01:002007-12-06T16:04:26.048+01:00.pamiętajcie o konwersjach.moze przez to ze zapisze to tu ten nie bede o tym zapominal. Jedna z dziwnych rzeczy w C++. Typy signed i unsigned i rzadzace nimi prawa.<br /><br />1. Nie jest określone przez standard czy typ char jest signed czy unsigned czyli na róznych platformach mozemy miec rożne znaczenie wzorca bitowego tej samej liczby.<br /><br />za TCPL:<br /><br />char c = 0xFF;<br />int i = c;<br /><br />i moze miec wartość 255 lub -1 zaleznie od implementacji<br /><br />2.Porownania typow unsigned/sidneg. Choć już większość kompilatorów rzuca warningami gdy dochodzi do takiego porownania, ale wielu z nas nie zwraca na to uwagi.<br /><br />signed int x = -2147483646<br />unsigned int y = 2147483648<br /><br />(x < y) daje nam (2147483650 < 2147483648) czyli false! <br /><br />kompilator zasosował niejawną konwersje do typu unsigned.<br /><br />Tu sa akrat wydumane przykłady, ale bardzio często wartości oscylują wokół 0 wiec typ unsigned może być często przekręcany na duże wartości.sop3khttp://www.blogger.com/profile/00787907126881011426noreply@blogger.com1tag:blogger.com,1999:blog-665184637477387797.post-36476916395570066732007-12-04T11:42:00.000+01:002007-12-04T11:52:13.502+01:00.master c++ certificate at brainbench.com<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.brainbench.com/images/certlogo/color/mastercert/cppprogrammer.gif"><img src="http://www.brainbench.com/images/certlogo/color/mastercert/cppprogrammer.gif" border="0" alt="" /></a><br />.a co, chwale sie. Zdałem sobie teścik na certyfikat C++ Master z dość dobrym wynikiem. Co prawda test on-line, ale raczej nie da rady wyczytać odpowiedzi w książkach ani znależć na google. Teraz czekam tylko na papierowe potwierdzenie.<br /><br />.wiecej tu:<br /><a href="http://www.brainbench.com/xml/bb/transcript/public/viewtranscript.xml?pid=6019069"> View Transcript </a>sop3khttp://www.blogger.com/profile/00787907126881011426noreply@blogger.com2tag:blogger.com,1999:blog-665184637477387797.post-24491574852914483842007-12-04T11:15:00.000+01:002007-12-04T11:31:25.002+01:00.start.no i mnie też dosiegło szaleństwo blogowania. Pomimo, że nie mam za dużo do powiedzenia-napisania, postanowiłem podążyć za tłumem i założyc bloga, a co mi tam, może nawet ktoś to przeczyta. Będzie o programowaniu głownie C++\Python\Flex no i pewnie jeszcze inne badziewie które na codzień doprowadzaja mnie do ...<br /><br />.zapraszam!sop3khttp://www.blogger.com/profile/00787907126881011426noreply@blogger.com1