Quick Summary C++/CLI Basics Data Types Controls Arrays In-class assignments
Namespaces namespace MyNamespace { // …. } MyNamespace::func1() using namespace OtherNamespace; Comments: // /* xxxx */
Basic Data Types Type Range Literals/constants and variables Operators and expressions Assignment Input and output
Primitive Data Types in C++/CLI Integer: –Int16 (short); UInt16 (unsinged short) –Int32 (int or long); UInt32(unsigned int or long) –Int64 (long long); UInt64(unsigned long long, _int64) int x, y(1), z = 123; (signed, 32 bits) int x = y = z = 200; Console::WriteLine(0x10); Console::WriteLine(-0x10); // negative hex 10 is base Floating: –Single (float, 32bits) –Double (double, 64bits)
Primitive Data Types in C++/CLI Boolean (bool, true or false) Character (Char, 16bits, unsigned unicode) –Character and escape sequence char a = ‘A’; // character ‘A’ Char b = L‘A’; // unicode ‘A’ Char c = L‘\x0041’; // hex 41 is ASCII ‘A’ char d = ‘\t’; // tab escape Char e = L‘\\’; // unicode backslash escape
Handles vs Pointers Handle: safe code Handle: ^ Reference data in managed heap (CLR offers memory management) Handle’s address can not be manipulated (no add or subtract offsets to it Return from gcnew after creating an instance of a reference type object in managed heap Pointer: unsafe code Pointer: * Reference data in C Run-Time heap, need to handle memory management yourself pointer’s address can be manipulated Return from new after creating an instance of a reference type object in CRT heap
Operators, Expressions and Assignments, Precedence and Associativity Arithmetic Operators Unary Operators Bitwise and Shift Operators Relational Operators Logical Operators Ternary Operator
Quick Summary C++/CLI Basics Data Types Controls Arrays In-class assignments
Control Structures Structured Programming Selection –if –if else –switch(break) Repetition (break, continue) –while –do … while –for
break & continue int sum=0; for (int i=1; i<=10; i++) { if (i%5==0) continue; sum += i;// sum = sum+i; } int sum=0; for (int i=1; i<=10; i++) { if (i%5==0) break; sum += i;// sum = sum+i; }
Quick Summary C++/CLI Basics Data Types Controls Arrays In-class assignments
Arrays –One dimensional array –Two or multiple dimensional array
Array in C++/CLI Array, element, index(or subscript) array ^ a = gcnew array (12); array ^ a = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; a[0], a[1],…, and a[11] a->Length array ^d = {“Sun”, “Mon”, “Tue”, “Wed”, “Thu”, “Fri”, “Sat”}; int main(array ^args) {}
Array in C++/CLI Multi-dimensional Array array ^ b = gcnew array (4,3); array ^ b = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {0, 1, 2}}; b[0,0], b[0,1],…, b[3,2]; b->Rank, b->GetLength(0), b->GetLength(1)
Quick Summary C++ for.NET Data Types Controls Arrays In-class assignments –Control –Array