Table of Contents

Quick Dev Ref page is for quick syntax reference.

Editor Reference

IDE - big Xcode, Visual Studio Community edition (replaced VS Express), eclipse, NetBean
IDE - small
cross-platform
small
sort based by
my experience
* Qt Creator
* CodeLite IDE
* Bloodshed Dev-C++ (old) (SF new)
* Code Blocks (SF link)
* Ultimate++
code editor
without compiler
vi, vim, Notepad++, sublime text, Atom, VisualStudio Code
others WebStorm-JS IDE, IntelliJ IDEA - Java, Web
library Boost, Qt, ref: link
Blogs PHP & Linux, Android

Procedural type language vs Object-oriented type language

Process-oriented Difference:

Object-oriented characteristics

Developing Process

Language Structure

C++ / cpp

One definition rule : any object can only have one definition.
A variable in C++ is a name for a piece of memory that can be used to store information.

// defining
class ClassName {
	int a;
	public:
		int b;
		int funcA (){ ... }		
};
 
// function
int main(){
	ClassName objA;
	objA.funcA();		// do method
 
	cout << " text here \n";
 
	return 0;
}

Data type: bool, char, int, float, double, long double, void, enum
Data structure: pointer, array, reference, structure, class
Scope and Namespace: external, internal, none
Access right: public, private, protected
Constant:

const int a=0; //constant can not be changed

Operation: static cast, dynamic cast, implicit, explicit
Logic operation: ==, <, >, ++, switch(n){case a: act1;break;}, break, continue, return, goto
Iteration:

for ( initial; condition; increment ) { statement }
while ( condition ) { statement }
do{ statement }  while ( condition )

Exception:

try{statement; on error, throw variable;} catch(variable){statement;}

Function (support overloading, virtual): void func1 (int x, int y){}
Class:

Objective-C / objc m

[movie setTitle:@“Iron man”]; = movie.title = @“Iron man”;
[movie title]; = movie.title;

Java

IO stream

System.out.println("Hello!");
x = System.in.read();

Data type: int, short, int, long, float, double, byte, char, string
Data structure: array Logic operation: ==, !==. <, >, ⇐, >=, &&, || , !
Condition statement:

Iteration:

SQL

DELETE FROM `databaseName`.`tableName` WHERE `databaseName`.`tableName` = 'theValue'

Language concepts

Passing by Value, Passing by Reference (memory address)

the variable of data type like (int char byte short) is in stack memory; only passed by value;

the variable of other class objects like (Array ClassName) is in heap memory, and address is in stack memory.

Class

Class can be defined inside another class; nested.

Static

In Class, there is some key feature that never change, like Class Chinese, a property “nationality” is always “chinese”;

So, this kind of property in class never changes in new instances, same as property, method also can be static as that;

Because of “static” nature, the property and method is pre-built and can not have individual value for each instance, therefore, even there is no instance of a class, the property and method can be directly used even without any instance created.

Its nature:

Return

Why there is a “return” value

Simulate real-world procedural, like “Go and buy a bag of super”;

You as main function (home director), The person is a function, and that person once being called, he will return you a bag of super.

if that person made a mistake, then he may return a bag of salt.

so return can be any possible value.