Questions marquées «language-lawyer»

Pour des questions sur les subtilités des spécifications formelles ou faisant autorité des langages de programmation et des environnements.


2
Ce code de la section 36.3.6 de la 4e édition de «The C ++ Programming Language» a-t-il un comportement bien défini?
Dans Bjarne Stroustrup's The C ++ Programming Language 4th edition section 36.3.6 STL-like Operations, le code suivant est utilisé comme exemple de chaînage : void f2() { std::string s = "but I have heard it works even if you don't believe in it" ; s.replace(0, 4, "" ).replace( s.find( "even" …




2
Quand les parenthèses supplémentaires ont-elles un effet, autre que sur la priorité des opérateurs?
Les parenthèses en C ++ sont utilisées à de nombreux endroits: par exemple dans les appels de fonction et les expressions de regroupement pour remplacer la priorité des opérateurs. En dehors des parenthèses supplémentaires illégales (comme autour des listes d'arguments d'appel de fonction), une règle générale - mais pas absolue …





8
Les branches avec un comportement non défini peuvent-elles être considérées comme inaccessibles et optimisées en tant que code mort?
Considérez la déclaration suivante: *((char*)NULL) = 0; //undefined behavior Il invoque clairement un comportement indéfini. L'existence d'une telle instruction dans un programme donné signifie-t-elle que l'ensemble du programme est indéfini ou que le comportement ne devient indéfini qu'une fois que le flux de contrôle atteint cette instruction? Le programme suivant …

3
Quand dois-je utiliser @classmethod et quand def method (self)?
Lors de l'intégration d'une application Django que je n'avais jamais utilisée auparavant, j'ai trouvé deux façons différentes de définir des fonctions dans les classes. L'auteur semble les utiliser tous les deux très intentionnellement. Le premier est celui que j'utilise beaucoup moi-même: class Dummy(object): def some_function(self,*args,**kwargs): do something here self is …

2
Pourquoi existe-t-il des classes de machines d'état asynchrones (et non des structures) dans Roslyn?
Considérons cette méthode asynchrone très simple: static async Task myMethodAsync() { await Task.Delay(500); } Lorsque je compile ceci avec VS2013 (pré-compilateur Roslyn), la machine à états générée est une structure. private struct <myMethodAsync>d__0 : IAsyncStateMachine { ... void IAsyncStateMachine.MoveNext() { ... } } Lorsque je le compile avec VS2015 (Roslyn), …



En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.