0

C++: mit Templates zwei verschiedene Typen addieren

Im Folgenden geht es darum, zwei verschiedene Typen per Template zu addieren. Dazu wird der add-Operator (+) ueberladen. Rueckgabewert soll im hoeherwertigen Typ sein (z.B. int + double = double).
Verwendet man den neuen C++11-Standard, kann man das neue decltype verwenden. Hier als Beispiel um zwei Elemente unterschiedlichen Typs zu addieren.

template<typename A, typename B>
auto operator+(const MyList<A>& a, const MyList<B>& b)
-> MyList<decltype(a[0] + b[0])>
{
return MyList(a[0] + b[0], a[1] + b[1]);
}

Alternativ kann man jetzt beim return auch

return {a[0] + b[0], a[1] + b[1]}

schreiben.
(Vorausgesetzt wird, dass der Konstruktor vorhanden ist.)

0

Linux: C++11 kompilieren

Gerade versucht c++ im 11er Standard zu compilieren. Dazu einfach die Compiler-Flag -std=c++0x oder -std+c++11 setzen. Allerdings geht das Compiler-Flag -ansi nicht.

Grund: -ansi steht fĂŒr -std=c++98 und das ĂŒberschreibt natĂŒrlich
das -std=c++0x

g++ -std=c++0x -Wall minimal.cpp -o minimal

(-pedantic ist per default angeschaltet.)

0

Windows: Pidgin Theme Àndern

Wenn man das Aussehen von Pidgin wechseln möchte, so kann man sich einfach ein GTK-Theme (z.B. hier) runterladen.

Dieses entpackt man nach C:\Programme\Pidgin\Gtk\share\themes.

Nun die Datei C:\Programme\Pidgin\Gtk\etc\gtk-2.0\gtkrc mit einem Texteditor öffnen und den Namen des Themes (des Ordners) in die AnfĂŒhrungsstriche einfĂŒgen.

Dann speichern und Pidgin neustarten. Jetzt hat Pidgin das neue Design.

0

Linux: Wiederholung in der bash

Wenn man einen frĂŒher schon einmal eingetippten Befehl wiederholen will, kann man ja einfach die Pfeil-nach-oben-Taste drĂŒcken.
Hat man den Befehl allerdings schon vor lĂ€ngerer Zeit eingegeben und ist somit nur durch 100 maliges DrĂŒcken zu erreichen, kann man auch einfach in seiner history danach suchen:
[STRG] + R und einen Suchstring eingeben

0

Linux: Iceweasel kann nicht gestartet werden

Hallo,

wollte eben den Iceweasel starten, allerdings bekam ich folgende Fehlermeldung:

Iceweasel is already running, but is not responding. To open a new window, you must first close the existing Iceweasel process, or restart your system.

ps aux | grep iceweasel

zeigte auch einen Prozess an, dieser konnte allerdings nicht beendet werden, da er nicht gefunden werden kann.

Lösung ist:

~/.mozilla/firefox/YOURPROFILE/.parentlock

zu entfernen.