.method public hidebysig static void Main(string[] args) cil managed { .entrypoint // Code size 50 (0x32) .maxstack 4 .locals init ([0] class [mscorlib]System.Threading.Timer timer) IL_0000: nop IL_0001: ldsfld class [mscorlib]System.Threading.TimerCallback GCTest.Program::'CS$<>9__CachedAnonymousMethodDelegate1' IL_0006: brtrue.s IL_001b IL_0008: ldnull IL_0009: ldftn void GCTest.Program::'<Main>b__0'(object) IL_000f: newobj instance void [mscorlib]System.Threading.TimerCallback::.ctor(object, native int) IL_0014: stsfld class [mscorlib]System.Threading.TimerCallback GCTest.Program::'CS$<>9__CachedAnonymousMethodDelegate1' IL_0019: br.s IL_001b IL_001b: ldsfld class [mscorlib]System.Threading.TimerCallback GCTest.Program::'CS$<>9__CachedAnonymousMethodDelegate1' IL_0020: ldnull IL_0021: ldc.i4 0x3e8 IL_0026: ldc.i4 0x3e8 IL_002b: newobj instance void [mscorlib]System.Threading.Timer::.ctor(class [mscorlib]System.Threading.TimerCallback, object, int32, int32) IL_0030: stloc.0 IL_0031: ret } // end of method Program::Main And it makes sense. We declared a local, so there is a local in the MSIL. We create a new instance and store the reference in the local, so does the MSIL. This drastically changes once we turn optimization on and the compiler outsmarts us. It says: "Well, you wanna write a reference to a local but you're not going to read it back. Ever. Know what, I'm just gonna omit it!" Hide Shrink Copy Code .method public hidebysig static void Main(string[] args) cil managed { .entrypoint // Code size 47 (0x2f) .maxstack 8 IL_0000: ldsfld class [mscorlib]System.Threading.TimerCallback GCTest.Program::'CS$<>9__CachedAnonymousMethodDelegate1' IL_0005: brtrue.s IL_0018 IL_0007: ldnull IL_0008: ldftn void GCTest.Program::'<Main>b__0'(object) IL_000e: newobj instance void [mscorlib]System.Threading.TimerCallback::.ctor(object, native int) IL_0013: stsfld class [mscorlib]System.Threading.TimerCallback GCTest.Program::'CS$<>9__CachedAnonymousMethodDelegate1' IL_0018: ldsfld class [mscorlib]System.Threading.TimerCallback GCTest.Program::'CS$<>9__CachedAnonymousMethodDelegate1' IL_001d: ldnull IL_001e: ldc.i4 0x3e8 IL_0023: ldc.i4 0x3e8 IL_0028: newobj instance void [mscorlib]System.Threading.Timer::.ctor(class [mscorlib]System.Threading.TimerCallback, object, int32, int32) IL_002d: pop IL_002e: ret } // end of method Program::Main
Write, Run & Share C++ code online using OneCompiler's C++ online compiler for free. It's one of the robust, feature-rich online compilers for C++ language, running on the latest version 17. Getting started with the OneCompiler's C++ compiler is simple and pretty fast. The editor shows sample boilerplate code when you choose language as C++
and start coding!
OneCompiler's C++ online compiler supports stdin and users can give inputs to programs using the STDIN textbox under the I/O tab. Following is a sample program which takes name as input and print your name with hello.
#include <iostream>
#include <string>
using namespace std;
int main()
{
string name;
cout << "Enter name:";
getline (cin, name);
cout << "Hello " << name;
return 0;
}
C++ is a widely used middle-level programming language.
When ever you want to perform a set of operations based on a condition If-Else is used.
if(conditional-expression) {
//code
}
else {
//code
}
You can also use if-else for nested Ifs and If-Else-If ladder when multiple conditions are to be performed on a single variable.
Switch is an alternative to If-Else-If ladder.
switch(conditional-expression){
case value1:
// code
break; // optional
case value2:
// code
break; // optional
......
default:
code to be executed when all the above cases are not matched;
}
For loop is used to iterate a set of statements based on a condition.
for(Initialization; Condition; Increment/decrement){
//code
}
While is also used to iterate a set of statements based on a condition. Usually while is preferred when number of iterations are not known in advance.
while (condition) {
// code
}
Do-while is also used to iterate a set of statements based on a condition. It is mostly used when you need to execute the statements atleast once.
do {
// code
} while (condition);
Function is a sub-routine which contains set of statements. Usually functions are written when multiple calls are required to same set of statements which increases re-usuability and modularity. Function gets run only when it is called.
return_type function_name(parameters);
function_name (parameters)
return_type function_name(parameters) {
// code
}