diff options
Diffstat (limited to 'ru-ru/c++-ru.html.markdown')
| -rw-r--r-- | ru-ru/c++-ru.html.markdown | 21 | 
1 files changed, 11 insertions, 10 deletions
| diff --git a/ru-ru/c++-ru.html.markdown b/ru-ru/c++-ru.html.markdown index 35994749..3acfafa3 100644 --- a/ru-ru/c++-ru.html.markdown +++ b/ru-ru/c++-ru.html.markdown @@ -43,11 +43,11 @@ int main(int argc, char** argv)      // Аргументы командной строки, переданные в программу, хранятся в переменных  	// argc и argv, так же, как и в C.      // argc указывает на количество аргументов, -    // а argv является массивом C-подобных строк (char*), который непосредсвенно +    // а argv является массивом C-подобных строк (char*), который непосредственно  	// содержит аргументы.      // Первым аргументом всегда передается имя программы. -    // argc и argv могут быть опущены, если вы не планируете работать с аругментами -	// коммандной строки. +    // argc и argv могут быть опущены, если вы не планируете работать с аргументами +	// командной строки.  	// Тогда сигнатура функции будет иметь следующий вид: int main()      // Возвращаемое значение 0 указывает на успешное завершение программы. @@ -162,7 +162,7 @@ void foo()  int main()  { -    // Включает все функци из пространства имен Second в текущую область видимости. +    // Включает все функции из пространства имен Second в текущую область видимости.      // Обратите внимание, что простой вызов foo() больше не работает,      // так как теперь не ясно, вызываем ли мы foo из пространства имен Second, или  	// из глобальной области видимости. @@ -471,6 +471,7 @@ int main() {  // членам\методам без открытых или защищенных методов для этого.  class OwnedDog : public Dog { +public:      void setOwner(const std::string& dogsOwner);      // Переопределяем поведение функции печати для всех OwnedDog. Смотрите @@ -582,10 +583,10 @@ public:  // Во время компиляции компилятор фактически генерирует копии каждого шаблона  // с замещенными параметрами, поэтому полное определение класса должно присутствовать -// при каждом вызове. Именно поэтому классы шаблонов полностью определены в +// при каждом вызове. Именно поэтому шаблоны классов полностью определены в  // заголовочных файлах. -// Чтобы создать экземпляр класса шаблона на стеке: +// Чтобы создать экземпляр шаблона класса на стеке:  Box<int> intBox;  // и вы можете использовать его, как и ожидалось: @@ -605,7 +606,7 @@ boxOfBox.insert(intBox);  //   http://en.wikipedia.org/wiki/Typename  // (да-да, это ключевое слово имеет собственную страничку на вики). -// Аналогичным образом, шаблонная функция: +// Аналогичным образом, шаблон функции:  template<class T>  void barkThreeTimes(const T& input)  { @@ -622,7 +623,7 @@ Dog fluffy;  fluffy.setName("Fluffy");  barkThreeTimes(fluffy); // Печатает "Fluffy barks" три раза. -//Параметры шаблона не должны быть классами: +// Параметры шаблона не должны быть классами:  template<int Y>  void printMessage() {    cout << "Learn C++ in " << Y << " minutes!" << endl; @@ -680,7 +681,7 @@ catch (...)  // некоторого ресурса неразрывно совмещается с инициализацией, а освобождение -  // с уничтожением объекта. -// Чтобы понять, на сколько это полезно, +// Чтобы понять, насколько это полезно,  // рассмотрим функцию, которая использует обработчик файлов в С:  void doSomethingWithAFile(const char* filename)  { @@ -796,7 +797,7 @@ void doSomethingWithAFile(const std::string& filename)  // - Контейнеры - стандартная библиотека связанных списков, векторы  //   (т.е. самоизменяемые массивы), хэш-таблицы и все остальное автоматически  //    уничтожается сразу же, когда выходит за пределы области видимости. -// - Ипользование мьютексов lock_guard и unique_lock +// - Использование мьютексов lock_guard и unique_lock  // Контейнеры с пользовательскими классами в качестве ключей требуют  // сравнивающих функций в самом объекте или как указатель на функцию. Примитивы | 
