90 рд╕реА ++ рд▓реЗрдЦрди рд╢реИрд▓рд┐рдпрд╛рдБ

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

1 рдкрд░рд┐рдЪрдп


рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ C ++ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕реНрд░реЛрддреЛрдВ, рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЕрдиреБрднрд╡, рд╡рд┐рд╢реЗрд╖ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдФрд░ рдХреБрдЫ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдЬрд░реВрд░рддреЛрдВ рд╕реЗ рдПрдХрддреНрд░ рдорд╛рдирдХреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддреА рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдЪрдордХрддреА рд╣реИрдВ (рдиреАрдЪреЗ рджреЗрдЦреЗрдВ)ред

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

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

1.1 рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреНрд░рд╛рд░реВрдк

рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рд╡рд┐рд╖рдп рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдЧреАрдХреГрдд рдХреА рдЬрд╛рддреА рд╣реИрдВ рдФрд░ рдХреНрд░рдорд╛рдВрдХрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВ рддрд╛рдХрд┐ рдХреЛрдб рд╕рдВрд╢реЛрдзрди рдХреЗ рджреМрд░рд╛рди рдЙрдиреНрд╣реЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред

рдЕрдиреБрд╢рдВрд╕рд╛рдПрдБ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВ:

рдПрдиред рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд╛ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдгред
//   ( )
, .

, ┬л┬╗, .

1.2

: , .

2


1. , .

тАФ , , , . , .

2. , .

, . . , ( ), .

, .

3


3.1

3. , , , .

Line, SavingsAccount

C++.

4. , .

line, savingsAccount

C++. , , : Line line;

5. ( ) .

MAX_ITERATIONS, COLOR_RED, PI

C++. . тАФ :

  int getMaxIterations() // : MAX_ITERATIONS = 25
  {
    return 25;
  }

, .

6. , .

getName(), computeTotalWidth()

, .

7. .

model::analyzer, io::iomanager, common::math::geometry

C++.

8. .

template<class T> ...
template<class C, class D> ...

C++. .

9. .
exportHtmlSource(); // : exportHTMLSource();
openDvdPlayer();    // : openDVDPlayer();

, . dVD, hTML . ., . ; , ; , , , .

10. (::).

::mainWindow.open(), ::applicationContext.getName()

. .

11. private -.

class SomeClass {
  private:
    int length_;
}

, тАФ . . , , , .

- , , :

  void setDepth (int depth)
  {
    depth_ = depth;
  }

, тАФ . , , . , тАФ . , .

12. , .

void setTopic(Topic* topic)      // : void setTopic(Topic* value)
                                 // : void setTopic(Topic* aTopic)
                                 // : void setTopic(Topic* t)

void connect(Database* database) // : void connect(Database* db)
                                 // : void connect (Database* oracleDB)

. .

- , , .

:

  Point  startingPoint, centerPoint;
  Name   loginName;


13. -.

fileName;   //  : imyaFayla

.

14. , , , тАФ .

, , . , , , . i, j, k, l, m, n ( ), c d ( ).

15. , .

line.getLength();   //  : line.getLineLength();

, , .

( тДЦ 16 .тАФ .)

3.2

17. get/set , .

employee.getName();
employee.setName(name);

matrix.getElement(2, 4);
matrix.setElement(2, 4, value);

C++. Java - .

18. compute , -.

valueSet->computeAverage();
matrix->computeInverse()

, .

19. find , - .

vertex.findNearestVertex();
matrix.findMinElement();

, , .

20. initialize , .

printer.initializeFontSet();

initialize, initialise. init.

21. , GUI, , .

mainWindow, propertiesDialog, widthScale, loginText,
leftScrollbar, mainForm, fileMenu, minLabel, exitButton, yesToggle  . .

, , , .

22. () .

vector<Point>  points;
int            values[];

, , .

23. n .

nPoints, nLines

, .

24. No .

tableNo, employeeNo

, .

i: iTable, iEmployee. , .

25. - i, j, k . .

for (int i = 0; i < nTables); i++) {
  :
}

for (vector<MyClass>::iterator i = list.begin(); i != list.end(); i++) {
  Element element = *i;
  ...
}

, .

j, k . . .

26. is () .

isSet, isVisible, isFinished, isFound, isOpen

C++, Java.

, status flag. isStatus isFlag , .

is : has, can should:

  bool hasLicense();
  bool canEvaluate();
  bool shouldSort();


27. .

get/set, add/remove, create/destroy, start/stop, insert/delete,
increment/decrement, old/new, begin/end, first/last, up/down, min/max,
next/previous, old/new, open/close, show/hide, suspend/resume,  . .

.

28. .

computeAverage();   // : compAvg();

. тАФ , , . :

cmd        command
cp         copy
pt         point
comp       compute
init       initialize
 . .


тАФ , - , /. . :

 HypertextMarkupLanguage      html
 CentralProcessingUnit        cpu
 PriceEarningRatio            pe
  . .


29. .

Line* line; //  : Line* pLine;
            //  : Line* linePtr;

C/C++ . , C++ , .

30. () , .

bool isError; // : isNoError
bool isFound; // : isNotFound

, , . !isNotFound.

31. тАФ .

enum Color {
  COLOR_RED,
  COLOR_GREEN,
  COLOR_BLUE
};

, , , .

: Color::RED, Airline::AIR_FRANCE . .

, , : enum Color {...}. , .

32. Exception.

class AccessException
{
  :
}

, .

33. (, - ) , , тАФ , ( void).

. , , , .

4


4.1

34. C++ .h () .hpp. .c++ (), .C, .cc .cpp.

MyClass.c++, MyClass.h

, C++.

35. () , .

MyClass.h, MyClass.c++


. тАФ , .

36. .

class MyClass
{
public:
  int getValue () {return value_;}  // !
  ...

private:
  int value_;
}

, . , , .

37. 80 .

80 тАФ , , ; , . .

38. (, TAB) .

, , , .

39. .

totalSum = a + b + c +
           d + e;

function (param1, param2,
          param3);

setText ("Long line split"
         "into two parts.");

for (int tableNo = 0; tableNo < nTables;
     tableNo += tableStep) {
  ...
}

, 80 , , . , .

:


4.2

40. .

#ifndef COM_COMPANY_MODULE_CLASSNAME_H
#define COM_COMPANY_MODULE_CLASSNAME_H
  :
#endif // COM_COMPANY_MODULE_CLASSNAME_H

. .

41. ( , тАФ ) . .

#include <fstream>
#include <iomanip>

#include <qt/qbutton.h>
#include <qt/qtextfield.h>

#include "com/company/ui/PropertiesDialog.h"
#include "com/company/ui/MainWindow.h"

. .

42. .

. , ┬л┬╗ - .

5


5.1

43. , , .

.

44. public, protected private . .

public, protected/private.

45. . .

floatValue = static_cast<float>(intValue); // : floatValue = intValue;

, , .

5.2

46. .

, . :

  int x, y, z;
  getCenter(&x, &y, &z);

, - .

47. .

, , . - .

48. .

C++ ( .тАФ ). () , тАФ .

49. public.

. private . тАФ , ( C). .

, C++ C; . .

( тДЦ 50 .тАФ .)

51. C++ , .

float* x; //  : float *x; 
int& y;   //  : int &y;

, тАФ , , . C , C++ .

( тДЦ 52 .тАФ .)

53. () .

if (nLines != 0)  //  : if (nLines)
if (value != 0.0) //  : if (value)

C++ , int float, , 0. .

, , , if (line == 0) if (line). C/C++, .

54. .

.

5.3

55. for() , .

sum = 0;                       // : for (i = 0, sum = 0; i < 100; i++)
for (i = 0; i < 100; i++)                sum += value[i];
  sum += value[i];

. , .

56. , , .

isDone = false;           //  : bool isDone = false;
while (!isDone) {         //      :
  :                       //      while (!isDone) {
}                         //        :
                          //      }


57. do-while.

, . , .

do-while . while for.

.

58. break continue .

, .

( тДЦ 59 .тАФ .)

60. while (true) .

while (true) {
  :
}

for (;;) {  // !
  :
}

while (1) { // !
  :
}

. for (;;) ; , .

5.4

61. . .

bool isFinished = (elementNo < 0) || (elementNo > maxElement);
bool isRepeatedEntry = elementNo == lastElement;
if (isFinished || isRepeatedEntry) {
  :
}

// NOT:
if ((elementNo < 0) || (elementNo > maxElement)||
     elementNo == lastElement) {
  :
}

. , .

62. if, тАФ else.

bool isOk = readFile (fileName);
if (isOk) {
  :
}
else {
  :
}

, . .

63. .

if (isDone)       //  : if (isDone) doCleanup();
  doCleanup();

.

64. .

File* fileHandle = open(fileName, "w");
if (!fileHandle) {
  :
}

// :
if (!(fileHandle = open(fileName, "w"))) {
  :
}

. /++.

5.5

65. ┬л┬╗ . , 0 1, .

, . тАФ , .

66. .

double total = 0.0;    //  :  double total = 0;
double speed = 3.0e8;  //  :  double speed = 3e8;

double sum;
:
sum = (a + b) * 10.0;

. , .

( ) (sum) , .

67. , , .

double total = 0.5;  //  :  double total = .5;


C++ , , . , 0.5 тАФ , .5 ( 5).

68. .

int getValue()   // : getValue()
{
  :
}

, C++ , int. , , .

69. goto.

. (, ), .

70. ┬л0┬╗ ┬лNULL┬╗.

NULL C C++.

6


6.1

71. .

for (i = 0; i < nElements; i++)
  a[i] = 0;

, . 4 , . 2, 3 4 ; 2 4 тАФ .

72. , 1 () 2, , 3. 2.

while (!done) {
  doSomething();
  done = moreToDo();
}


while (!done)
{
  doSomething();
  done = moreToDo();
}


while (!done)
  {
    doSomething();
    done = moreToDo();
  }

3 , .

73. :

class SomeClass : public BaseClass
{
  public:
    ...

  protected:
    ...

  private:
    ...
}

, .

74. :

void someMethod()
{
  ...
}

, .

75. if-else :

if (condition) {
  statements;
}

if (condition) {
  statements;
}
else {
   statements;
}

if (condition) {
  statements;
}
else if (condition) {
  statements;
}
else {
  statements;
}

, . else , , :

  if (condition) {
    statements;
  } else {
    statements;
  }

if-else . , , else.

76. for :

for (initialization; condition; update) {
  statements;
}

, .

77. for :

for (initialization; condition; update)
  ;

, . , , .

78. while :

while (condition) {
  statements;
}

, .

79. do-while :

do {
  statements;
} while (condition);

, .

80. switch :

switch (condition) {
  case ABC :
    statements;
    //  "break"

  case DEF :
    statements;
    break;

  case XYZ :
    statements;
    break;

  default :
    statements;
    break;
}

, case , . . - break, . , .

81. try-catch :

try {
  statements;
}
catch (Exception& exception) {
  statements;
}

, . , if-else, .

82. if-else , .

if (condition)
  statement;

while (condition)
  statement;

for (initialization; condition; update)
  statement;

.

83. .

void
MyClass::myMethod(void)
{
  :
}

.

6.2

84.

тАФ .
тАФ C++ .
тАФ .
тАФ .
тАФ for .

a = (b + c) * d; //  : a=(b+c)*d

while (true)   //  : while(true) 
{
  ...

doSomething(a, b, c, d);  //  : doSomething(a,b,c,d);

case 100 :  //  : case 100:

for (i = 0; i < 10; i++) {  //  : for(i=0;i<10;i++){
  ...

. . C++. .

85. , .

doSomething (currentFile);

. . , (doSomething()).

. : doSomething( currentFile );. ; , (doSomething( currentFile);).

86. .

Matrix4x4 matrix = new Matrix4x4();

double cosAngle = Math.cos(angle);
double sinAngle = Math.sin(angle);

matrix.setElement(1, 1,  cosAngle);
matrix.setElement(1, 2,  sinAngle);
matrix.setElement(2, 1, -sinAngle);
matrix.setElement(2, 2,  cosAngle);

multiply(matrix);

.

87. .

.

88. .

AsciiFile* file;
int        nPoints;
float      x, y;

. тАФ .

89. , .

if      (a == lowValue)    compueSomething();
else if (a == mediumValue) computeSomethingElse();
else if (a == highValue)   computeSomethingElseYet();

value = (potential        * oilDensity)   / constant1 +
        (depth            * waterDensity) / constant2 +
        (zCoordinateValue * gasDensity)   / constant3;

minPosition     = computeDistance(min,     x, y, z);
averagePosition = computeDistance(average, x, y, z);

switch (value) {
  case PHASE_OIL   : strcpy(phase, "Oil");   break;
  case PHASE_WATER : strcpy(phase, "Water"); break;
  case PHASE_GAS   : strcpy(phase, "Gas");   break;
}

, , .

6.3

90. , , , !

, .

91. .

тАФ .

92. // , .
// , 
//   .

, /* */ .

// , .

93. , , .

while (true) {       //  :  while (true) { 
  // Do something                          // Do something
  something();                               something();
}                                          }

, , .

94. JavaDoc.

Java Javadoc, HTML .

C++. , JavaDoc (., , Doc++ Doxygen).

7

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


All Articles