comment attribuer plusieurs valeurs dans une structure à la fois?

Je peux le faire lors de l'initialisation d'un struct Foo:

Foo foo =  {bunch, of, things, initialized};

mais, je ne peux pas faire ça:

Foo foo;
foo = {bunch, of, things, initialized};

Alors, deux questions:

  1. Pourquoi je ne peux pas faire le dernier, est l'ancien spéciale constructeur pour l'initialisation seulement?
  2. Comment puis-je faire la même chose pour le deuxième exemple, c'est à dire déclarer un tas de variables pour une structure dans une seule ligne de code après qu'il a déjà été initialisé? J'essaie d'éviter d'avoir à le faire pour les grandes structures avec de nombreuses variables:

    Foo foo;
    
    foo.a = 1;
    foo.b = 2;
    foo.c = 3;
    //... ad infinitum
  • "c'est l'ancienne spéciale du constructeur pour l'initialisation seulement?" Oui, justement, qui s'appelle globale de l'initialisation.
  • C ou C++? Choisissez-en un.
  • C(++) reste très primitif dans certains domaines.
  • C'est juste de niveau inférieur. Qu'il semble que le "primitif dans certains domaines" est en fait juste que c'est les blocs de construction de base de la programmation procédurale. Quelque chose doit être. "Ces briques rouges sont moches. Nous devons nous débarrasser de nos briques et de venir avec un nouveau type de brique qui est recouverte de plâtre blanc." "Donc ce qui se passe sous le plâtre si non.. le rouge des briques?" Briques rouges doivent existent toujours, et les gens qui font du plâtre blanc recouvert de briques ont encore de voir et de travailler avec les briques rouges.
  • Justement, je vous remercie pour les précisions.
  • avez-vous une autre solution?
  • Elles sont différentes langues et, par conséquent, garantit des questions différentes. Pour cette question, choisissez une seule langue s'il vous plaît.
  • Je suis intéressé à ce que les solutions pourrait ressembler soit. Pouvez-vous m'indiquer où il y a une SORTE de règle qu'une question ne peut que refléter une seule langue? Je comprends bien le raisonnement, si je faisait référence C++/OCAML, mais, il me semble, un lecteur peut calculer la valeur d'une solution en C/C++.
  • Si oui ou non c'est une SORTE de règle, beaucoup de gens (moi y compris) ne pourront pas répondre à une question tagged plusieurs langues, car elle implique une obligation de donner une réponse pour chaque langue. Si vous voulez moins de réponses à votre question, c'est certainement votre prérogative. ;-]
  • En demandant des solutions dans C et C++ en fait deux questions différentes, mais avec des thèmes communs. Vous ne sont là que pour poser une question à la fois. J'ai donné une réponse pour le C, mais lorsque j'ai réalisé que la question avait deux balises je l'ai supprimé.
  • Ok, eh bien, c'est malheureux, parce que je suis vraiment intéressé par un ou l'autre, PAS les deux (pas de pression). Dans mon code, j'ai tendance à mélanger les deux, en fonction de ce que je ressens est le plus approprié pour la situation par rapport à une approche du tout ou rien, mais je comprends votre point de vue.
  • ce n'est pas mon nom, et, comme tel, "@LRiO" ne donne pas lieu à une réponse de notification.
  • Les deux absolument ne devrait pas être "mixte" comme ça. Le C et le C++ sont des langues distinctes et doivent être traités comme tels! OK, donc certaines solutions peuvent se chevaucher; beaucoup ne le font pas.
  • Des excuses pour ne pas l'orthographe de votre nom (c'est assez long), je ne savais pas que les notifications ont été déclenchés comme ça. Comme pour votre commentaire que les deux ne doivent pas être mélangés comme "ça", je ne suis pas sûr de ce que vous faites allusion, j'ai donné aucun exemple quand j'ai fait cette déclaration. Si vous faites allusion à ma question, je ne peux pas commenter, car je ne sais pas quelles sont les différentes solutions sont et d'où l'absence de chevauchement peut être, d'où le séparer les tags dans ma question.
  • mon propre code, j'ai tendance à mélanger les deux"
  • Ah, je vois, vous avez été universelle. Eh bien, bon pour vous dans votre strict respect des limites du langage, de respect.

InformationsquelleAutor jim | 2012-02-13