150 likes | 289 Views
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
E N D
Quick Summary C++/CLI Basics • Data Types • Controls • Arrays • In-class assignments
Namespaces namespaceMyNamespace { // …. } 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-10 -16 • 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 chara = ‘A’; // character ‘A’ Charb = L‘A’; // unicode ‘A’ Char c = L‘\x0041’; // hex 41 is ASCII ‘A’ chard = ‘\t’; // tab escape Char e = L‘\\’; // unicode backslash escape
Handles vs Pointers Handle: safe code 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 • 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
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 • Arrays • One dimensional array • Two or multiple dimensional array
Array in C++/CLI • Array, element, index(or subscript) • array<int> ^ a = gcnew array<int>(12); • array<int> ^ a = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; • a[0], a[1],…, and a[11] • a->Length • array<String ^> ^d = {“Sun”, “Mon”, “Tue”, “Wed”, “Thu”, “Fri”, “Sat”}; • int main(array<System::String ^> ^args) {}
Array in C++/CLI • Multi-dimensional Array • array<int, 2> ^ b = gcnew array<int, 2>(4,3); • array<int, 2> ^ 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