|
|
|
|
|
|
|
|
Ja, ich habe abgegeben...
Jetzt lerne ich Topo und Geometrie... Und bereite einen Vortrag "Katzenphysik" für den physikalischen Stammtisch der Fachschaft vor.
@Oli: Wo in Norwegen?
Gentlemen. You can't fight in here. This is the War Room!
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Wraith of Seth am 26.06.2013 12:33]
|
|
|
|
|
|
| Zitat von Wraith of Seth
Ja, ich habe abgegeben...
| | Na ENDLICH! Hoffentlich verstehen die Refs irgendwas.
| Zitat von Wraith of Seth @Oli: Wo in Norwegen? | | Flug nach Bergen -> Zug nach Geilo -> durch die Hardangervidda gewandert -> Eidfjord -> Bergen.
|
|
|
|
|
|
|
Grmpf. Vertretungs-Vorlesung - der Doktorand hat offensichtlich weniger als 30 Minuten Material vorbereitet; versucht sich mit "Habt ihr noch Fragen?" wenigstens auf die 45 min Marke zu retten. Wofür bin ich da eigentlich in die Uni gefahren?
|
|
|
|
|
|
|
| Zitat von RichterSkala
Grmpf. Vertretungs-Vorlesung - der Doktorand hat offensichtlich weniger als 30 Minuten Material vorbereitet; versucht sich mit "Habt ihr noch Fragen?" wenigstens auf die 45 min Marke zu retten. Wofür bin ich da eigentlich in die Uni gefahren?
| |
Ich hatte echt nur die halbe Stunde.
/e: Bei mir waren aber auch nur 8 da.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Xerxes-3.0 am 26.06.2013 18:05]
|
|
|
|
|
|
Spooky, hast du auch über Exitonen gesprochen?
|
|
|
|
|
|
|
Nee, AMOP, wir waren gerade bei (anti)symmetrischen Wellenfunktionen, Pauli-Prinzip, Termschemata etc.
|
|
|
|
|
|
HTML
|
Man erkläre mir, wo ich ein overflow:auto einbauen muss, damit die blaue Tabellenzelle zu sehen bleibt und nur innerhalb der roten Zelle gescrollt wird. Die rote Zelle soll nicht über den rechten Rand des umgebenen Divs hinausgehen.
|
Code: |
<div style="width:200px;padding:20px;background:grey;">
<table style="width:100%">
<tr>
<td style="width:20px;background:blue">
Bla!
</td>
<td style="background:red;">
<pre>Absdkjvfhsdkjfsdfsdfsdf df sdsd sdf s f</pre>
</td>
</tr>
</table>
</div> |
|
Ich rauf mir hier seit ner STunde die Haare.
/e: Ich würde ungerne eine fixe (in Pixeln) Tabellenbreite festlegen.
JSFiddle Link
/e: So geht es! Hässlicher hack.
|
Code: |
<div style="width:200px;padding:20px;background:grey;">
<table style="width:100%">
<tr>
<td style="width:20px;background:blue">
Bla!
</td>
<td style="background:red;overflow:auto">
<pre style="width:100%;margin-right:-800px">Absdkjvfhsdkjfsdfsdfsdf df sdsd sdf s f</pre>
</td>
</tr>
</table>
</div> |
|
|
[Dieser Beitrag wurde 7 mal editiert; zum letzten Mal von Oli am 28.06.2013 19:27]
|
|
|
|
|
|
display: inline-block; ist dein Freund.
|
Code: |
<div style="width:200px;padding:20px;background:grey;">
<table style="width:100%">
<tr>
<td style="width:50px;background:blue;">
Bla!
</td>
<td style="width:50px;background:red;display:inline-block;">
<pre style="overflow: auto;">Absdkjvfhsdkjfsdfsdfsdf df sdsd sdf s f</pre>
</td>
</tr>
</table>
</div |
|
|
|
|
|
|
|
c++:pointer auf lokale variable?
|
eigentlich sollte das doch nicht funktionieren, oder? da er ja die lokale varialben von foo() nach dem aufruf wieder löscht, sodass die adresse von b ungültig sein müsste, da ja b de facto nicht mehr existiert auf dem stack?!
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Gepan.3dsvs.com am 29.06.2013 13:17]
|
|
|
|
|
|
Da muss man immer aufpassen: Es ist nicht so, dass es grundsätzlich nicht funktioniert, es funktioniert aber nicht zuverlässig. In dem Fall ist es denke ich der Glücksfall, dass das Programm so winzig ist, dass der Speicher nicht wieder überschrieben wurde. Das kann aber in null komma nichts passieren. Deswegen übersieht man derartige Fehler auch gerne mal.
|
|
|
|
|
|
|
| Zitat von Cru$her
Da muss man immer aufpassen: Es ist nicht so, dass es grundsätzlich nicht funktioniert, es funktioniert aber nicht zuverlässig. In dem Fall ist es denke ich der Glücksfall, dass das Programm so winzig ist, dass der Speicher nicht wieder überschrieben wurde. Das kann aber in null komma nichts passieren. Deswegen übersieht man derartige Fehler auch gerne mal.
| |
habe gedacht nach einem funktionsaufruf nimmt er alle "sachen" vom stack bis zur rücksprungadresse und fährt dann weiter. also hinterlässt er quasi müll und überschreibt es dann einfach?
danke dir
|
|
|
|
|
|
|
| Zitat von Gepan.3dsvs.com
habe gedacht nach einem funktionsaufruf nimmt er alle "sachen" vom stack bis zur rücksprungadresse und fährt dann weiter. also hinterlässt er quasi müll und überschreibt es dann einfach?
danke dir
| |
Genau. Explizites löschen macht keinen Sinn bei Computern, der Speicher wird immer nur als frei markiert und kann jederzeit überschrieben werden. Bis das passiert ist der Inhalt aber der gleiche. Deswegen werden so Pointerfehler auch gerne mal übersehen.
Ergänze dein Programm z.B. mal mit einem zweiten cout, identisch zum ersten. Das vorige cout wird dann den Stack da überschrieben haben und es kommt nur Müll beim zweiten.
|
|
|
|
|
|
|
| Zitat von Cru$her
| Zitat von Gepan.3dsvs.com
habe gedacht nach einem funktionsaufruf nimmt er alle "sachen" vom stack bis zur rücksprungadresse und fährt dann weiter. also hinterlässt er quasi müll und überschreibt es dann einfach?
danke dir
| |
Genau. Explizites löschen macht keinen Sinn bei Computern, der Speicher wird immer nur als frei markiert und kann jederzeit überschrieben werden. Bis das passiert ist der Inhalt aber der gleiche. Deswegen werden so Pointerfehler auch gerne mal übersehen.
Ergänze dein Programm z.B. mal mit einem zweiten cout, identisch zum ersten. Das vorige cout wird dann den Stack da überschrieben haben und es kommt nur Müll beim zweiten.
| |
Tatsache! Vielen Dank <3
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Gepan.3dsvs.com am 29.06.2013 13:37]
|
|
|
|
|
|
Darum mag ich auch Java und C# mehr, sofern man nicht gerade irgendwelche superschnellen Programme machen muss .
|
|
|
|
|
|
|
| Zitat von Cru$her
Darum mag ich auch Java und C# mehr, sofern man nicht gerade irgendwelche superschnellen Programme machen muss .
| |
Jaaaa ebenfalls! C/C++ sind ziemlicher Graus, wenn man Java/C# gewöhnt ist. Zumin. bei sowas.
|
|
|
|
|
|
|
Naja, sowas macht man halt auch einfach nicht
|
|
|
|
|
|
|
smart pointer
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von _Ac_ am 29.06.2013 13:58]
|
|
|
|
|
|
|
|
|
|
C++ ist awesome \o/
Und in 11 gibt es auch smart_ptr bzw in boost schon ewig.
Beste Kombination = Python + C++
|
|
|
|
|
|
|
| Zitat von PutzFrau
Beste Kombination = Python + C++
| |
Dieses!
|
|
|
|
|
|
|
| Zitat von _Ac_
| Zitat von PutzFrau
Beste Kombination = Python + C++
| |
Dieses!
| |
Fett und unterstrichen.
|
|
|
|
|
|
|
| Zitat von PutzFrau
Beste Kombination = Python + C++
| |
|
|
|
|
|
|
|
Wieso?
|
|
|
|
|
|
|
| Zitat von Cru$her
Da muss man immer aufpassen: Es ist nicht so, dass es grundsätzlich nicht funktioniert, es funktioniert aber nicht zuverlässig. In dem Fall ist es denke ich der Glücksfall, dass das Programm so winzig ist, dass der Speicher nicht wieder überschrieben wurde. Das kann aber in null komma nichts passieren. Deswegen übersieht man derartige Fehler auch gerne mal.
| |
Wo ist denn da genau der Fehler? In meinem Programm übergebe ich auch oft pointer an eine Routine, die ein wenig auf den Pointern bzw hilfsobjekten rumrechnet und diese wieder zurückgibt. Also ich habe immer Routinen die so aussehen:
|
Code: |
void Rechne( double *a, double *b){
double c = 0, d= 0;
Rechne irgendwas mit c und d
*a = c; *b = d;
}
|
|
Ist das gefährlich? Ich prügel ziemlich ordentlich den Computer mit solchen Sachen. Nicht, dass ich am Ende in Probleme laufe.
|
|
|
|
|
|
|
| Zitat von Schalentier
Wieso?
| |
Zwei Kacksprachen zusammen.
Kackprogrammierspracheception.
|
|
|
|
|
|
|
| Zitat von Virtus
| Zitat von Schalentier
Wieso?
| |
Zwei Kacksprachen zusammen.
Kackprogrammierspracheception.
| |
Java Butthurt? :-)
|
|
|
|
|
|
|
| Zitat von SilentAssassin
Wo ist denn da genau der Fehler? In meinem Programm übergebe ich auch oft pointer an eine Routine, die ein wenig auf den Pointern bzw hilfsobjekten rumrechnet und diese wieder zurückgibt. Also ich habe immer Routinen die so aussehen:
|
Code: |
void Rechne( double *a, double *b){
double c = 0, d= 0;
Rechne irgendwas mit c und d
*a = c; *b = d;
}
|
|
Ist das gefährlich? Ich prügel ziemlich ordentlich den Computer mit solchen Sachen. Nicht, dass ich am Ende in Probleme laufe.
| |
In seinem Fall hat er gesagt, dass der Pointer auf die Adresse einer lokalen Variable zeigen soll. Das ist entsprechend ein Platz im Stack, der sofort wieder überschrieben wird, sobald die Methode verlassen wurde. In deinem Fall geht es um einen Pointer, dessen Inhalt neu beschrieben wird, was natürlich okay ist.
|
|
|
|
|
|
|
| Zitat von SilentAssassin
| Zitat von Cru$her
Da muss man immer aufpassen: Es ist nicht so, dass es grundsätzlich nicht funktioniert, es funktioniert aber nicht zuverlässig. In dem Fall ist es denke ich der Glücksfall, dass das Programm so winzig ist, dass der Speicher nicht wieder überschrieben wurde. Das kann aber in null komma nichts passieren. Deswegen übersieht man derartige Fehler auch gerne mal.
| |
Wo ist denn da genau der Fehler? In meinem Programm übergebe ich auch oft pointer an eine Routine, die ein wenig auf den Pointern bzw hilfsobjekten rumrechnet und diese wieder zurückgibt. Also ich habe immer Routinen die so aussehen:
|
Code: |
void Rechne( double *a, double *b){
double c = 0, d= 0;
Rechne irgendwas mit c und d
*a = c; *b = d;
}
|
|
Ist das gefährlich? Ich prügel ziemlich ordentlich den Computer mit solchen Sachen. Nicht, dass ich am Ende in Probleme laufe.
| |
Bitte nochmal das mit Pointern durchlesen.
Hier weist du der Speicherstelle von a den Wert von c zu, gleiches für b.
Du änderst nicht die Addresse der Speicherstelle von a auf die Addresse von c. Kannst du da auch gar nicht bzw. würde es der Caller nicht merken.
|
|
|
|
|
|
|
| Zitat von csde_rats
| Zitat von Virtus
| Zitat von Schalentier
Wieso?
| |
Zwei Kacksprachen zusammen.
Kackprogrammierspracheception.
| |
Java Butthurt? :-)
| |
Nein, zum Glück gibt es C#.
|
|
|
|
|
|
Thema: pOT-lnformatik, Mathematik, Physik XIII ( Completely Automated Public User Test To tell PIMP ) |