рдХреЛрдб рд╢реИрд▓реА, рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдФрд░ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рд▓рд╛рдн

рдПрдХ рдирдИ рдиреМрдХрд░реА (C ++) рдореЗрдВ, рдореБрдЭреЗ рд╕рд╛рдорд╛рдиреНрдп рдХреЛрдб рд╢реИрд▓реА рдХреЛ рдмрджрд▓рдирд╛ рдерд╛, рдХреЛрдг рдХреЛрд╖реНрдардХ рдЦреЛрд▓рдирд╛ {рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдерд╛ рдХрд┐ рдЙрд╕реА рд▓рд╛рдЗрди рдкрд░ рд░рдЦрд╛ рдЬрд╛рдП, рдпрджрд┐ рдмреНрд▓реЙрдХ / рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рд╢реБрд░реБрдЖрдд рдХреА рдЧрдИ рдереАред рдкрд╣рд▓реЗ рддреЛ рдкреБрд░рд╛рдиреА рдЖрджрддреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдирд╛ рдЕрдкреНрд░рд┐рдп рдерд╛, рд▓реЗрдХрд┐рди рдПрдХ рд╣рдлреНрддреЗ рдореЗрдВ рдореБрдЭреЗ рдирдпрд╛ рддрд░реАрдХрд╛ рдкрд╕рдВрдж рдЖрдпрд╛ред рдлрд┐рд░ рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ - рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд╢реИрд▓реА рдХреЗ рдЕрдиреНрдп рдкрд╣рд▓реВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЕрднреА рднреА рдЕрд╕рд╛рдорд╛рдиреНрдп рд▓рдЧрддреЗ рд╣реИрдВ? рдФрд░ рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдЬрдбрд╝рддрд╛ рджреНрд╡рд╛рд░рд╛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдпрд╣ рд╣реИред рдХреБрдЫ рдорд╣реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╢реИрд▓реА рдХреЛ рдмрд╣реБрдд рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛, рдкрд░рд┐рдгрд╛рдо рдХрдо рд╣реИрдВред

рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реВрдЪрдирд╛
рд╕реНрдЯрд╛рдЗрд▓ рдХреЗ рд╣рд░ рдкрд╣рд▓реВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрджрдд рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╕рдкреНрддрд╛рд╣ рджреЗрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдорд╕реНрддрд┐рд╖реНрдХ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдпрджрд┐ рдкрд░рд┐рд╡рд░реНрддрди рдЫреЛрдЯреЗ рд╣реИрдВ, рддреЛ рдкреБрд░рд╛рдиреЗ рдХреЛрдб рдХреЗ рд╕рд╛рде рдЙрдкрдорд╛ рдЦреЛрдЬрдирд╛ рдЖрд╕рд╛рди рд╣реИред рдФрд░ рдпрджрд┐ рдЖрдк рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреЛрдб рдЗрддрдирд╛ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдорд╕реНрддрд┐рд╖реНрдХ рдУрд╡рд░рд▓реЛрдб рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдмрд╣реБрдд рдЕрдЪрд╛рдирдХ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛ред

рддрд░реНрдХ
рдпрд╣ "рдХреНрдпрд╛ рдЕрдзрд┐рдХ рд╕реБрдВрджрд░ рд╣реИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИред" рдорд╕реНрддрд┐рд╖реНрдХ рдХреЛ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рд╢реИрд▓реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдпрджрд┐ рдХреЛрдб рдЫреЛрдЯрд╛ рд╣реИ, рддреЛ рдПрдХ рд╕реНрдХреНрд░реАрди рдкрд░ рдЕрдзрд┐рдХ рдлрд┐рдЯ рд╣реЛрдЧрд╛ред рдЖрдкрдХреЛ рдХреЛрдб рдХреЛ рдХрдо рдмрд╛рд░ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХрдо рд╕реЗ рдХрдо рдЕрдХреНрд╕рд░ рдХреАрдмреЛрд░реНрдб рд╕реЗ рдорд╛рдЙрд╕ рдкрд░ рдЕрдкрдирд╛ рд╣рд╛рде рд▓реЗ рдЬрд╛рдПрдВ, рдпрд╛ рдХрд░реНрд╕рд░ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ-рдкреАрдЫреЗ рдЪрд▓рд╛рдПрдВред рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рд╕рдмрд░реВрдЯреАрди рдкрд░ рдЧрддрд┐рд╡рд┐рдзрд┐рдпрд╛рдВ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рдХрд┐рддрдирд╛ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛? рдХреНрдпрд╛ рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рдпрд╛ рдЕрднреА рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ?), рднрд▓реЗ рд╣реА рдпрд╣ рдЕрд╕рдВрдЧрдд рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рдпрд╛ рджреЛ рд╕реЗрдХрдВрдб рд▓рдЧрддреЗ рд╣реИрдВред (рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рднрдпрднреАрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - рд╣рд░ рдЪреБрдиреМрддреА рдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд░рд╛ рд╕реЗрдХрдВрдб! рдЖрдк рд░реЛрдмреЛрдЯ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░реЗрдВрдЧреЗ?)ред рдХрдо рдЯрд╛рдЗрдкрд┐рдВрдЧред рдПрдХ рдЫреЛрдЯрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рддреЗрдЬреА рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ (рд╡рд┐рд╢реЗрд╖рдХрд░ рдпрджрд┐ рдЖрдк рдПрдХ рдбрд┐рд╕реНрдХ рдХреНрд▓рд╕реНрдЯрд░ рдХрдо рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддреЗ рд╣реИрдВ), рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рджреЗрдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдЖрджрд┐ред

рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдЖрдпрд╛рдо

рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдФрд░ рдкреИрдбрд┐рдВрдЧ
рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмреАрдЪ рдЖрдорддреМрд░ рдкрд░ рдПрдХ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдбрд╛рд▓рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдорд╕реНрддрд┐рд╖реНрдХ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рд╣реИ: рдирдП рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рд╕рдорд╛рдкрди рдХреЛрдг рдмреНрд░реИрдХреЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рд░реЗрдЦрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕реЗ рдЦрд╛рд▓реА рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдпрд╣ рд╕рдорд╛рдкрди рдмреНрд░реИрдХреЗрдЯ рдмрд┐рдирд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрдбрд┐рдВрдЧ рдХреЗ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдирдпрд╛ рдмреНрд▓реЙрдХ (рдлрд╝рдВрдХреНрд╢рди) рдЕрддрд┐рд░рд┐рдХреНрдд рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХреЗ рдмрд┐рдирд╛ рднреА рдЖрддрд╛ рд╣реИред рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдпрд╣ рдорд╕реНрддрд┐рд╖реНрдХ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдкреАрдЫреЗ рд╣рдЯрдиреЗ рдХреЗ рдмрд╛рдж, рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд░рд┐рдХреНрдд рд▓рд╛рдЗрди рдХреЗ рдмрд┐рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░реЗрдВред
//++ 
	return 1;
}

int f() {
	return 0;
}

//++   
	return 1;
}
int f() {
	return 0;
}

//Python 
	return 1

def f():
	return 0

//Python   
	return 1
def f():
	return 0

тАФ , . , - тАФ , } ( тАФ ). . , !
: \}\n\n -> \}\n.
. , . , тАФ !



/* 

*/
/*  
 */

, . ( */) , . , , , */ . , , . , . //.
, .

Include guard
++ pragma once, include guard ifndef/define/endif . , 2-4 ( ), ( guard). , pragma once, , . , ( ) pragma once, . , // # pragma once.
, . :

\#pragma once\n\n -> \#pragma once\n
\n\n\#pragma once -> \n\#pragma once



тАФ . . ( ) .
// 
int f()
{
	return 0;
}

//    ...
int f() {

	return 0;
}

//
int f() {
	return 0;
}


, : ? ? if ? - ? ? ?
: {\n\n -> {\n
, .

#include
#include ( ) , ( pragma once). include forward declarations, тАФ , ( java-, include forward declarations). Forward declarations #include #. include/forward declarations тАФ forward declarations, , , .


, . , , .

//file.cpp by AuthorName
//This file is licensed under GPL, www.gnu.org/copyleft/gpl.html


.


, public/private , тАФ .
//
void f() {
	int ret = 0;
LabelBegin:
	...
	goto LabelBegin;
};
//
class A {
public:
	A();
	~A() {}
};
//
class A {
	public:
		A();
		~A() {}
};

? тАФ , (┬л ?┬╗) тАФ ┬лpublic:┬╗ , (┬л ? ...┬╗). ? , goto: ┬лpublic:┬╗ goto, , . , , . - ( ). , 320*240, , goto.
: , ? , . . .


. , тАФ ┬л - ? ┬╗.


:
VeryLongClassName* veryLongClassName = new VeryLongClassName(params);

:
auto veryLongClassName = new VeryLongClassName(params);

:
New<VeryLongClassName> shortName(params);

, New ( ).
New.h

template<class Class>
class New {
	private:
		Class*d;
	public:
		New() {
			d = new Class();
		}
		template<typename T0>
		New(T0 t0) {
			d = new Class(t0);
		}
		template<typename T0, typename T1>
		New(T0 t0, T1 t1) {
			d = new Class(t0, t1);
		}
		template<typename T0, typename T1, typename T2>
		New(T0 t0, T1 t1, T2 t2) {
			d = new Class(t0, t1, t2);
		}
		template<typename T0, typename T1, typename T2, typename T3>
		New(T0 t0, T1 t1, T2 t2, T3 t3) {
			d = new Class(t0, t1, t2, t3);
		}
		virtual ~New() {}
		Class* operator->() { return d; }
		const Class* operator->()const { return d; }
		operator Class* () { return d; }
		operator const Class* ()const { return d; }
};

, , , . тАФ ++11 VS2012.


Java/Qt: ClassName, functionName. : function_name тАФ , , , ( ), . ┬л ┬╗ ( ) , ( ).

Tabs
, ! habrahabr.ru/post/118208


, :
//
Ctor::Ctor(): var1(1)
	, var2(2)
	, var3(3)
...
};
//
Ctor::Ctor(): var1(1),
	var2(2),
	var3(3)
...
};

, . ? , 1) тАФ , , , , 2) , . 1 тАФ , , тАФ . : , , , , . , , тАФ . : ┬л , ! , ! ! , тАФ , ? тАФ ! , тАФ ? , тАФ ! , , ? , ! , !┬╗. , .


- , ( ). ++ тАФ , ( linq C#). , !

Source: https://habr.com/ru/post/In149210/


All Articles