Cel mai bun răspuns
Calculatoarele nu știu nimic. Li se spune semnificațiile a ceva.
Ele ar putea fi codificate sub orice schemă și decodificat în aceeași schemă pentru a face ceva semnificativ. Cele mai populare scheme de codificare sunt ASCII extins și UNICODE (cum ar fi UTF-8, UTF- 16 etc.), dar vă puteți proiecta și dvs. Singura problemă va fi portabilitatea datelor. Orice date codificate conform schemei dvs. pot arăta gunoi pe o mașină care nu utilizează schema dvs. de codificare.
Când proiectăm un software pentru computer, noi programatorii decidem ce ar trebui să însemne {} și [] în software-ul nostru . Deci, semnificațiile lui {} și [] depind de contextul al software-ului.
C11 , standardul actual pentru limbaj de programare C, în codificat în Unicode (probabil UTF-8), totuși, {și} sunt codificate în continuare în limbaj C pentru a reprezenta bloc de cod ca în exemplul de mai jos:
#include
int main()
{
// printf() displays the string inside quotation
printf("Hello, World!");
return 0;
}
În foi de stil în cascadă (CSS), {și} sunt codificate în continuare pentru a reprezenta bloc de declarație ca în exemplul de mai jos:
p {
color: red;
text-align: center;
}
Pe scurt, în computer, {} și [] ar putea însemna orice și așa cum este definit de un programator în software-ul său. În matematică, au următorul sens Bracket (matematică) – Wikipedia
Răspuns
În limbaje de programare moderne, în schimb de a solicita instrucțiuni multiple pentru a crește, decrementa, înmulți, împărți sau modula o valoare și a o stoca într-o variabilă, le puteți face într-o singură instrucțiune. În timp ce unele limbi oferă deja o metodă de a face unele dintre acestea (pe care o voi arăta și în exemplul meu), unele limbi nu.
Cum ar trebui să realizați acest lucru în alte limbi:
x = x + 1; //also x++; or ++x;
x = x - 1; //also x--; or --x;
x = x * 2;
x = x / 2;
x = x \% 3;
Modul „scurtătură”:
x += 1;
x -= 1;
x *= 2;
x /= 2;
x \%= 3;
În majoritatea limbilor care acceptă această funcționalitate, acestea fac exact același lucru ca primul meu bloc de cod, dar ocupă o cantitate mai mică de spațiu. Utilizarea reală pentru cele de adunare și scădere este că puteți înlocui o variabilă sau o cantitate diferită de adunare / scădere pe care nu o puteți face cu operatorii unari ++ și – -. Să presupunem că lucrezi la un joc destul de mare și că lucrezi singur la el. Pentru a economisi timp, doriți să utilizați cea mai mică cantitate de tastare posibilă pentru a realiza aceleași lucruri. Aici intervin aceștia pentru a juca, deoarece au exact aceeași viteză de operare ca și tastarea totul și funcționează exact în aceleași moduri (cu excepția ++x
și --x
, care își returnează valoarea DUPĂ operațiune, spre deosebire de înainte de ea în comparație cu x++
și x--
) .
Deci, ia în considerare următorul exemplu din lumea reală (deși, în mod evident, unele lucruri lipsesc, cum ar fi verificarea limitelor și coliziunile):
if(Keyboard.getKeyPressed(Key\_W) && !Keyboard.getKeyPressed(Key\_D))
{
acceleration -= 0.128f; //we"re subtracting here to change the direction to left
x += deltaTime * acceleration;
}
else if (Keyboard.getKeyPressed(Key\_D) && !Keyboard.getKeyPressed(Key\_W))
{
acceleration += 0.128f;
x += deltaTime * acceleration;
}
În timp ce acest lucru economisește doar un pic de tastare, acel pic se adaugă atunci când aveți mii de linii de cod. De asemenea, arată mai frumos decât să aibă o variabilă setată la sine + / – / * / etc o valoare și poate fi mai ușor de citit pentru unii oameni. Când programez într-un limbaj care acceptă această funcționalitate, folosesc exclusiv acest mod de a o face.