Инициализиране

14 отговора 499 прегледа
#1

Инициализиране

компилаторите на Microsoft винаги могат да те изненадат с нещо ново. Последния случай е:

void SuperFunction()
{
unsigned short _usHostAndPort[255] = {0};
DPN_SERVICE_PROVIDER_INFO _dpnSPInfo = {0};
//занулява та ушите му плющат
}

Отговор
в отговор на Packoлниkoв #2

Re: Инициализиране

ta kude e problema, bre Razkolnikov?

ne mozhah da razbera naistina gde da tursja

Отговор
в отговор на Packoлниkoв #3

Re: Инициализиране

И аз не мисля, че има някакъв проблем.
Това май е поведение по стандарт.
Ако не достигат инициализиращите стойности, default value ще бъде използване - 0.

Отговор
в отговор на Zelen #4

Re: Инициализиране

Не бих разчитал на това. Иначе и мен ме блазни идеята да можеш да си инициализираш така, ама не е само MS.


System Doctor Error:
Your girlfriend is pregnant.
(A)bort, (M)arry, (I)gnore?_
Отговор
в отговор на Packoлниkoв #5

Re: Инициализиране

На калпавия програмист Майкрософт му пречи.

Отговор
в отговор на Colombino #6

Re: Инициализиране

tova e po-standarta, btw

Отговор
в отговор на Guru #7

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...

Отговор
в отговор на malkia #8

Re: Инициализиране

Напротив, много добре знам за какво става дума. Въпроса е, че пича вместо да провери в документацията как работи инициализацията, веднага скача на форума и коментира, че компилатора на Майкрософт не работил както трябва.

Отговор
в отговор на Colombino #9

Re: Инициализиране

Както казва malkia, това е поведение по стандарт.
Следователно, на него може да се разчита.
int a[100] = {0};
действително ще ти инициализира елементите с 0.
int a[100] = {1, 2, 3};
ще ти инициализира елементите от a[3], до края на масива, с 0.

Отговор
в отговор на Zelen #10

Re: Инициализиране

А и така става:

int a[100] = {0,};//със 0 целия масив

int a[100] = {1,};//a[0]=1 останалите са 0

Отговор
в отговор на malkia #11

Re: Твърдя

, че малкия единствен разбра какво имам впредвид.

Отговор
в отговор на Guru #12

Re: Инициализиране

abe dea maaamu ti da ne si ...advocat na Microsoft... ?

Отговор
в отговор на tux #13

Re: Инициализиране

Toy e po-golemiyat brat na bay Dobri (ot kogoto posledniyat e chul za kompotite).

Отговор
в отговор на Moje #14

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! :))))

Отговор
в отговор на tux #15

Re: Инициализиране

ili Akcioner
ili policai (sled OBIRA w MATRICATA)

Отговор