Инициализиране
14 отговора
499 прегледа
Инициализиране
компилаторите на Microsoft винаги могат да те изненадат с нещо ново. Последния случай е:
void SuperFunction()
{
unsigned short _usHostAndPort[255] = {0};
DPN_SERVICE_PROVIDER_INFO _dpnSPInfo = {0};
//занулява та ушите му плющат
}
void SuperFunction()
{
unsigned short _usHostAndPort[255] = {0};
DPN_SERVICE_PROVIDER_INFO _dpnSPInfo = {0};
//занулява та ушите му плющат
}
Re: Инициализиране
ta kude e problema, bre Razkolnikov?
ne mozhah da razbera naistina gde da tursja
ne mozhah da razbera naistina gde da tursja
Re: Инициализиране
И аз не мисля, че има някакъв проблем.
Това май е поведение по стандарт.
Ако не достигат инициализиращите стойности, default value ще бъде използване - 0.
Това май е поведение по стандарт.
Ако не достигат инициализиращите стойности, default value ще бъде използване - 0.
Re: Инициализиране
Не бих разчитал на това. Иначе и мен ме блазни идеята да можеш да си инициализираш така, ама не е само MS.
System Doctor Error:
Your girlfriend is pregnant.
(A)bort, (M)arry, (I)gnore?_
System Doctor Error:
Your girlfriend is pregnant.
(A)bort, (M)arry, (I)gnore?_
Re: Инициализиране
Ti pak ne si razbral za kakvo stava duma.
Choveka prosto ne e mislil che inizializirajki purwata promenliva ot strukturata, to wsichki ostanali do kraja shte sa zanuleni tozhe - tova e pri wsichki C/C++ kompilatori - ili pone tezi koito az poznawam...
Choveka prosto ne e mislil che inizializirajki purwata promenliva ot strukturata, to wsichki ostanali do kraja shte sa zanuleni tozhe - tova e pri wsichki C/C++ kompilatori - ili pone tezi koito az poznawam...
Re: Инициализиране
Напротив, много добре знам за какво става дума. Въпроса е, че пича вместо да провери в документацията как работи инициализацията, веднага скача на форума и коментира, че компилатора на Майкрософт не работил както трябва.
Re: Инициализиране
Както казва malkia, това е поведение по стандарт.
Следователно, на него може да се разчита.
int a[100] = {0};
действително ще ти инициализира елементите с 0.
int a[100] = {1, 2, 3};
ще ти инициализира елементите от a[3], до края на масива, с 0.
Следователно, на него може да се разчита.
int a[100] = {0};
действително ще ти инициализира елементите с 0.
int a[100] = {1, 2, 3};
ще ти инициализира елементите от a[3], до края на масива, с 0.
Re: Инициализиране
А и така става:
int a[100] = {0,};//със 0 целия масив
int a[100] = {1,};//a[0]=1 останалите са 0
int a[100] = {0,};//със 0 целия масив
int a[100] = {1,};//a[0]=1 останалите са 0
Re: Инициализиране
Toy e po-golemiyat brat na bay Dobri (ot kogoto posledniyat e chul za kompotite).
Re: Инициализиране
Tova sas visyashtata zapetaya e mnogo yako povedenie. Dobre che sa se setili. Taka moje da se pishat hitri makrosi za inicializirane na masivi s nyakakvi neshta. Spestyava pisaneto na cyala zapetaya! :))))