Articles of c #

Wann sollten virtuelle Destruktoren verwendet werden?

Ich habe ein solides Verständnis der meisten OO-Theorie, aber die eine Sache, die mich sehr verwirrt, ist virtuelle Destruktoren. Ich dachte, dass der Destruktor immer aufgerufen wird, egal was und für jedes Objekt in der Kette. Wann soll man sie virtuell machen und warum?

Warum ist es schneller, ein sortiertes Array als ein unsortiertes Array zu verarbeiten?

Hier ist ein Stück C ++ – Code, der sehr merkwürdig erscheint. Aus irgendeinem seltsamen Grund macht das Sortieren der Daten auf wundersame Weise den Code fast sechsmal schneller. #include #include #include int main() { // Generate data const unsigned arraySize = 32768; int data[arraySize]; for (unsigned c = 0; c < arraySize; ++c) data[c] […]

Wie funktionieren functionszeiger in C?

Ich hatte in letzter Zeit einige Erfahrung mit functionszeigern in C. Um die eigenen Fragen beantworten zu können, habe ich beschlossen, eine kurze Zusammenfassung der Grundlagen für diejenigen zu erstellen, die einen schnellen Einstieg in das Thema benötigen.

Was ist eine IndexOutOfRangeException / ArgumentOutOfRangeException und wie behebe ich sie?

Ich habe etwas Code und wenn es ausgeführt wird, wirft es eine IndexOutOfRangeException und sagt, Index war außerhalb der Grenzen des Arrays. Was bedeutet das und was kann ich dagegen tun? Abhängig von den verwendeten classn kann es auch ArgumentOutOfRangeException Eine Ausnahme vom Typ “System.ArgumentOutOfRangeException” ist in mscorlib.dll aufgetreten, wurde aber nicht im Benutzercode verarbeitet. […]

Was sind die Grundregeln und Redewendungen für das Überladen von Operatoren?

Hinweis: Die Antworten wurden in einer bestimmten Reihenfolge gegeben , aber da viele Benutzer die Antworten nach Abstimmungen sortieren und nicht nach der Zeit, in der sie gegeben wurden, folgt hier ein Index der Antworten in der Reihenfolge, in der sie am sinnvollsten sind: Die allgemeine Syntax des Überladens von Operatoren in C ++ Die […]

Gcc 4.8 oder früher Buggy über reguläre Ausdrücke?

Ich versuche, std :: regex in einem C ++ 11 Stück Code zu verwenden, aber es scheint, dass die Unterstützung ein bisschen errorshaft ist. Ein Beispiel: #include #include int main (int argc, const char * argv[]) { std::regex r(“st|mt|tr”); std::cerr << "st|mt|tr" << " matches st? " << std::regex_match("st", r) << std::endl; std::cerr << "st|mt|tr" […]

Warum verursacht die Reihenfolge, in der Bibliotheken verknüpft sind, manchmal Fehler in GCC?

Warum verursacht die Reihenfolge, in der Bibliotheken verknüpft sind, manchmal Fehler in GCC?

scanf () belässt die neue Zeile char im Puffer

Ich habe folgendes Programm: int main(int argc, char *argv[]) { int a, b; char c1, c2; printf(“Enter something: “); scanf(“%d”,&a); // line 1 printf(“Enter other something: “); scanf(“%d”, &b); // line 2 printf(“Enter a char: “); scanf(“%c”,&c1); // line 3 printf(“Enter another char: “); scanf(“%c”, &c2); // line 4 printf(“Done”); // line 5 system(“PAUSE”); return […]

Veröffentlichen Sie eine HTML-Tabelle in ADO.NET DataTable

Ich habe eine HTML-Tabelle wie folgt in meiner Ansicht: Leave Type Leave Taken Leave Balance Leave Total @foreach (var item in Model.LeaveDetailsList) { @Html.TextBoxFor(m => item.LeaveType, new { width = “100” }) @Html.TextBoxFor(m => item.LeaveTaken, new { width = “100” }) @Html.TextBoxFor(m => item.LeaveBalance, new { width = “100” }) @Html.TextBoxFor(m => item.LeaveTotal, new { […]

Wo und warum muss ich die Schlüsselwörter “template” und “typename” eingeben?

In welchen Templates wo und warum muss typename und template auf abhängige Namen gesetzt werden? Was genau sind abhängige Namen überhaupt? Ich habe den folgenden Code: template // Tail will be a UnionNode too. struct UnionNode : public Tail { // … template struct inUnion { // Q: where to add typename/template here? typedef Tail::inUnion […]