Die meistgestellten Fragen



  • Hallo

    Objektinspektor ist ein Teil des Borland Builders, und damit hat die Frage hier nichts zu suchen. Das gehört ins Builder-Forum.

    Die Eigenschaften die dort angezeigt werden sind kontextabhängig, und zwar vom ausgewähltem Komponententyp. Und eine detaillierte Dokumentation der Komponententypen findest du in der Builder-Hilfe : F1 drücken.

    bis bald
    akari


  • Mod

    Vorschlag für einen weiteren Eintrag: zum Unterschied zwischen Klassentemplate und Templateklasse bzw. Funktionstemplate und Templatefunktion.



  • Meinst du, das wird häufig benötigt? Wenn ja, dann kann ich ja mal den entsprechenden Abschnitt aus "C++ Templates" zu Hause zusammenfassen.



  • akari schrieb:

    Hallo

    Objektinspektor ist ein Teil des Borland Builders, und damit hat die Frage hier nichts zu suchen. Das gehört ins Builder-Forum.

    Die Eigenschaften die dort angezeigt werden sind kontextabhängig, und zwar vom ausgewähltem Komponententyp. Und eine detaillierte Dokumentation der Komponententypen findest du in der Builder-Hilfe : F1 drücken.

    bis bald
    akari

    Ah super danke, genau das wollte ich auch wissen. 🙂
    👍Außerdem echt super Forum! 😉 also hilfreich.

    Wenn jemand will, kann er auch diesen: ***zensiert*** Link anklicken, damit tut ihr mir einen großen Gefallen, und lernt evtll. noch ein super Browsergame kennen. 😉
    (Nur so nebenbei, also wer drauf klicken will dann klickne 😉 )

    Ich werd noch weiterhin hier durchstöbern, da hier wirklich gute Sachen zu finden sind!

    MfG
    valaBoo



  • Kann ein Mod bitte den Link dort zensieren? 🙄 😡



  • The-Kenny schrieb:

    Kann ein Mod bitte den Link dort zensieren? 🙄 😡

    Wenn du so freundlich bittest, aber immer doch 😉



  • int cgls ( Sparse_Matrix &A , const Vektor &b , Vektor &x0 , int k_max , double &eps )
    {
    	if(A.Zeilen() < A.Spalten())
    	{
    		cerr << "Ungültige Matrix für cgls, Zeilen < Spalten" << endl;
    		return 0;
    	}
    	Vektor r(b - A*x);
    	Vektor s(r*A);
    	Vektor d(s);
    	double alpha, beta, norm_s;
    	int k = 0;
    	while(++k < k_max && s.Norm2() < eps)
    	{
    		alpha =  s.Norm2()*s.Norm2()/((A*d).Norm2()*(A*d).Norm2());
    		x0 += alpha * d;
    		r -= alpha * (A*d);
    		norm_s = s.Norm2();
    		s = r*A;
    		beta = s.Norm2()*s.Norm2()/(norm_s*norm_s)
    		d  = s + beta*d;
    	}
    	eps = s.Norm2();
    	return k;
    }
    

    // Edit: Code tags hinzugefügt



  • Warum werden bei manchen Funktionsaufrufen '::' benutzt und an anderen stellen benutzt man '.' oder '->'?



  • Das sind dann keine Funktionsaufrufe, sondern Methodeaufrufe.

    Bei statischen Methoden musst Du nur den Scope angeben:

    class foo_t {
    
        public:
            static void bar( ) { };
    };
    
    int main( ) {
    
        foo_t::bar( );
    }
    

    für andere benötigst du ein Objekt:

    class foo_t {
    
        public:
            void bar( ) { };
    };
    
    int main( ) {
    
        foo_t a_foo;
    
        a_foo.bar( );
    }
    

    cheers, Swordfish


  • Mod

    Swordfish schrieb:

    Das sind dann keine Funktionsaufrufe, sondern Methodeaufrufe.

    Das solltest du besser zurücknehmen. Der Begriff "Methode" hat in C++ keine formale Bedeutung, dort gibt es nur Funktionen. Welche Arten davon (hier: Memberfunktionen) jeweils als Methode bezeichnet werden, ist kontextabhängig.



  • camper schrieb:

    Swordfish schrieb:

    Das sind dann keine Funktionsaufrufe, sondern Methodeaufrufe.

    Das solltest du besser zurücknehmen. Der Begriff "Methode" hat in C++ keine formale Bedeutung, dort gibt es nur Funktionen. Welche Arten davon (hier: Memberfunktionen) jeweils als Methode bezeichnet werden, ist kontextabhängig.

    Auch wenn du recht hast das es keine standisierte Bedeutung hat, ist diese Verwendung von Funktion/Methode doch sehr verbreitet. Also als falsch würde ich die Aussage von Swordfish auch nicht hinstellen, auch wenn es nicht überall so verwendet wird (Wobei ich es aus den bisherigen Firmen auch nur in dieser Art kenne, und es auch in OO-Büchern eine recht verbreitete Bezeichnung ist [gehe hier mal von ca. 80%+ aus]).

    cu André


  • Mod

    asc schrieb:

    camper schrieb:

    Swordfish schrieb:

    Das sind dann keine Funktionsaufrufe, sondern Methodeaufrufe.

    Das solltest du besser zurücknehmen. Der Begriff "Methode" hat in C++ keine formale Bedeutung, dort gibt es nur Funktionen. Welche Arten davon (hier: Memberfunktionen) jeweils als Methode bezeichnet werden, ist kontextabhängig.

    Auch wenn du recht hast das es keine standisierte Bedeutung hat, ist diese Verwendung von Funktion/Methode doch sehr verbreitet. Also als falsch würde ich die Aussage von Swordfish auch nicht hinstellen, auch wenn es nicht überall so verwendet wird (Wobei ich es aus den bisherigen Firmen auch nur in dieser Art kenne, und es auch in OO-Büchern eine recht verbreitete Bezeichnung ist [gehe hier mal von ca. 80%+ aus]).

    cu André

    Die Wahrheit oder Unwahrheit einer Behauptung ist nicht davon abhängig, wieviele Personen diese verbreiten (dass ich das überhaupt sagen muss, betrachte ich als Zumutung). In C++ ist jeder Methodenaufruf (egal, welche übliche Verwendung wir nutzen) ein Funktionsaufruf, weil jede Methode eine Funktion ist. Mithin ist Swordfishs Aussage falsch, ohne wenn und aber. Es spielt auch keine Rolle, wie verständlich es ist, das dieser Fehler gemacht wurde - das kann schon gar kein Kriterium sein in einem Thread wie diesem, der immer wieder gelesen werden wird.



  • Sorry. Ich meinte den aus der OOP - als Konzept - bekannten Begriff der Methode ... nicht wirklich passend auf die gestellte Frage hin. 🤡

    Natürlich ist es - auf C++ bezogen - eine Memberfunktion.

    cheers, Swordfish


Anmelden zum Antworten