Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: C++ secvential vs paralel vs concurent  (Citit de 1099 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
MciprianM
Nu mai tace
*****

Karma: 87
Deconectat Deconectat

Mesaje: 324



Vezi Profilul
« : Ianuarie 30, 2012, 13:04:03 »

http://infoarena.ro/job_detail/670885?action=view-source

E intr-adevar nevoie de main? Stiu ca daca nu avem main, vom primi o eroare de genul "entry point must be defined". Dar pare ca nu e nevoie de aceasta functie intotdeauna.

Si daca avem urmatorul cod:

Cod:
int glob = 2;
int glob2 (3);
class A {
public:
  A () {
      glob = 4;
      glob2 = 5;
  }
};
class B {
public:
  B () {
      glob = 6;
      glob2 = 7;
  }
};
A a;
B b;
int main () {
  cout << glob << " " << glob2 << endl;
  return 0;
}

Ce va afisa? Intotdeauna? Adica constructorii se executa secvential, pe rand, de sus in jos? E garantat asta de standard? Ar fi greu de transformat C++ ul intr-un limbaj concurent sau paralel cu bucati care se executa garantat secvential? Ca si sintaxa, eu cred ca ar putea ramane la fel, atata doar ca Definirea  variabilelor sa se execute concurent - la fel si instructiunile din main. Voi ce credeti?
Memorat
psycho21r
Client obisnuit
**

Karma: -15
Deconectat Deconectat

Mesaje: 74



Vezi Profilul
« Răspunde #1 : Ianuarie 31, 2012, 00:56:42 »

Poți să nu folosești main, desigur, ideea e că tot trebuie să ai ceva asemănător, fără nu se poate. Cum zice și eroare pe care ai amintit-o, nu trebuie neapărat main, ci un entry point. Erau niște "probleme" (în glumă, oarecum) care te puneau să faci un program fără main, dar erau mai mult niște bancuri seci, ca și cel care punea să printezi ceva fără ; (punct și virgulă), workaround-ul fiind ceva de genul if(printf("ceva")){}.

În concluzie fără entry point nu merge. Dacă găsește cineva vreo soluție, să mă anunte și pe mine. Smile

Cât despre constructori, eu zic că e destul de normal să se execute de sus în jos și că e destul de standard, altfel nu prea ar avea logică. Totuși, nu cred că e o idee să lași ambiguitate, mă refer aici la variabilele inițializate global, în special dacă nu ești singurul care o să lucreze cu acele clase. Și chiar dacă nu ar fi problema da mai mulți, probabil ai vrea să apelezi un constructor fără să schimbi variabila globală, etc, motive sunt.

Dacă și la asta se găsește excepție, pe asta chiar vreau să o știu. Very Happy

O zi bună.
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines