Remember

Friend Classes

Elder Friend who is accessible by Younger friend.

Elder Friend does not need to Include Younger Friend.

Overloading does not work accross scopes and thus accross inheritance.

Always check for bounds in statically allocated arrrays.

Object passing is preferred by refrencing, since-.

Pass by value will result in invoking destructor - this might be undesiered especially if contained are memory blocks.

For(; ;).

{

for(; ;)

if(!f())

Break;.

}.

Next Statement.

Anomaly. Without curly braces Next becomes continuation for the first 'for'.

Reference. '&' to be used only at declaration. since: every where else it will be the 'address' operator.

Calling the Constructor Explicitly creates an object.

Not doing any thing with this subsequently invokes the destructor.

RUN Double quoted string is a single param passed on.

Once C-Style Commented block cannot contain another.

CreateWindow causes jump from present fn into the WM_CREATE message.

If HTML is UNICODE so should be the CSS.

in structured storage first commit changes and then chane time stamps

Or else the changes will be automatically commited upon close and thus time stamps will be re-updated.

__LINE__ can be used to get the error line for debugging.

GetFileTitle() - is "Folder Options" "Show file extensions" dependent.

Current Directory of application initalized with commandline param (esp. registry file assosciation) is the directory of the passed file.

if

If.

Else.

Else.

And.

if

If.

Else if.

Else.

Actually becomes.

if

If.

Else if.

Else.

Thus else-if is considered a group.

BUG. A float member of the class - when not initialized in the constructor - but initialized in the WM_CREATE - remains - (OR rather becomes) uninitialized in the WM_PAINT.

CRUCIAL. UINT x, UINT y.

x = -1

Y = +1.

If((int)x < y):false.

If((int)x < (int)y):true.

CRUICAL. Parenthesizing blocks for "if" and "for"s may be necessary or atleast semicolon at the end may be required :: in case of "break" resolution;.

C++/(& maybe) C compiler automatically concatenates string literals put togather. Usefull when defining a sting which is to be part of an another.

Unsigned int upr = i-1;.

Upr gets bullshit.

  • initialization can not include variables.
no - some problem w/ uint substraction

Cin >> (x,y);.

1 input assigned to y.

cout << (x,y,x);

1 output of x.

Int &d = 0x00000007;.

D created at temp add and has vlu = 7.

Return by refrence returns the add of the var to b modified.

A file needs to be reopened once eof is reached.

Dosent matter if param var names aren't same in declaration & definition.

Data & procedures must be defined foremost.

The keyword extern is optional for a function prototype.

Unsigned int a = x,b = y;.

# include <iostream.h>

Void main().

{

Unsigned int i = 1;.

do

cout << i

<< '\t';.

While(i--);.

}.

1 0.

This SUCKS! - in bncmrk.cpp

Unsigned int *x = new unsigned int(10000);.

Unsigned int y[10000];.

Unsigned int *y = new unsigned int(1000);.

Appreciate.

function name being passed as an argument

void qsort(void *base, size_t nelem, size_t width, int (_USERENTRY *fcmp)(const void *, const void *));

, must be used with the _USERENTRY calling convention.

Qsort((void *)list, 5, sizeof(list[0]), function_name);.

The return type of function_name is determined by the prototype of mother function.

how to build an aperable program on a program file(.cpp) e.g. a performance profiler

(profiler < code) modification in and arround code -> new final code

Class dt1.

{

Unsigned int dat;.

public

Dt1& operator = (unsigned int);.

};.

Dt1& dt1::operator = (unsigned int a).

{

Dat = a;.

Return(*this);.

};.

Inorder to make a profiler of programs it must be able to provide exactly the same enviroment to every program.

How to instantiate and thus modify features of basic elements like int or void*.

Avoid static data members in programs calling themselves repeatedly - it really slows the program.

Unsigned int[x] - x must already be a "constant".

When performing arithmetic with pointers, it is assumed that the pointer points to an array of objects. Thus, if a pointer is declared to point to type, adding an integral value to the pointer advances the pointer by that number of objects of type. If type has size 10 bytes, then adding an integer 5 to a pointer to type advances the pointer 50 bytes in memory.

_USERENTRY tells the compiler about the passed function.

#if directives can be nested, but matching #else and #endif directives must.

Be in the same file as the #if.

Appreciate

New & delete operators can be overloaded.

<XY<z> > : the space( ) is mandatory

A label is just a name which marks a certain spot in the

Assembler code.

Updated: 2026 Aug 19