Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.72
zombiethegame
1 / 1 / 0
Регистрация: 08.08.2011
Сообщений: 23
#1

Что такое основы c++? - C++

16.08.2011, 01:49. Просмотров 3188. Ответов 39
Метки нет (Все метки)

Точнее, я более-менее понимаю что это, но все же...
Хотелось бы узнать очень подробно что туда входит. Что бы я мог твердо сказать: "Я знаю основы с++!"
Вообщем не только то что туда входит, а и информация об этих "элементах".
Надеюсь расскажите, а то не знаю - знаю или не знаю я основы)
Только не нужно предлагать книги, не хочу заного все повторять)
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.08.2011, 01:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Что такое основы c++? (C++):

Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами? - C++
Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами?

Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа? - C++
Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?

Что такое хэндлер файла? Что такое файловый указатель? - C++
Что такое хэндлер файла? Что такое файловый указатель?

Что такое заголовочный файл? Что такое файл исходного кода? Рассмотрите назначение каждого из них - C++
Что такое заголовочный файл? Что такое файл исходного кода? Рассмотрите назначение каждого из них пожалуйста.

Объяснить что такое "раздельная компиляция", что такое "интерфейс класса" и "реализация класса" на примере - C++
Есть класс, содержащий объекты и конструктор. Конструктор объявляется в одном из cpp файлов(их несколько). Можно ли, как-то, использовать...

Что такое перегрузка оператора? Что у меня в коде за ошибка? - C++
Что же я написал?? Что оно не компилится? Что значит error C2275: Superclass: недопустимое использование этого типа в качестве выражения ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
16.08.2011, 02:30 #2
ну это то, что ты узнаешь после изучения и использования языка в практике за пару лет
0
NightmareZ
1340 / 563 / 37
Регистрация: 31.03.2009
Сообщений: 1,919
16.08.2011, 02:59 #3
Цитата Сообщение от zombiethegame Посмотреть сообщение
Точнее, я более-менее понимаю что это, но все же...
Хотелось бы узнать очень подробно что туда входит. Что бы я мог твердо сказать: "Я знаю основы с++!"
Вообщем не только то что туда входит, а и информация об этих "элементах".
Надеюсь расскажите, а то не знаю - знаю или не знаю я основы)
Только не нужно предлагать книги, не хочу заного все повторять)
Я вот взял первую попавшуюся программу на C++, которую я писал кому-то на форуме.
Всё понимаешь, что тут написано?
Если да - будем копать дальше.
Если нет - ты не знаешь основ C++.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <iostream>
#include <iterator>
#include <string>
#include <list>
#include <algorithm>
 
class Film
{
public:
    std::string name;
    std::string genre;
 
    friend std::istream& operator>>(std::istream& input, Film& film)
    {
        std::cout << "Input name: ";
        input >> film.name;
        std::cout << "Input genre: ";
        input >> film.genre;
        return input;
    }
 
    friend std::ostream& operator<<(std::ostream& output, const Film& film)
    {
        return output << "Name: " << film.name << std::endl
                      << "Genre: " << film.genre << std::endl;
    }
};
 
int main()
{
    std::list<Film> films(
        (std::istream_iterator<Film>(std::cin)),
         std::istream_iterator<Film>());
    std::cin.clear();
 
    std::cout << "Search. Please input name: ";
    std::string name;
    std::cin >> name;
 
    std::for_each(films.begin(), films.end(), [&name](Film& film) 
        { 
            if (name == film.name)
                std::cout << film;
        });
    return 0;
}
0
zombiethegame
1 / 1 / 0
Регистрация: 08.08.2011
Сообщений: 23
16.08.2011, 03:19  [ТС] #4
Цитата Сообщение от NightmareZ Посмотреть сообщение
Я вот взял первую попавшуюся программу на C++, которую я писал кому-то на форуме.
Всё понимаешь, что тут написано?
Если да - будем копать дальше.
Если нет - ты не знаешь основ C++.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <iostream>
#include <iterator>
#include <string>
#include <list>
#include <algorithm>
 
class Film
{
public:
    std::string name;
    std::string genre;
 
    friend std::istream& operator>>(std::istream& input, Film& film)
    {
        std::cout << "Input name: ";
        input >> film.name;
        std::cout << "Input genre: ";
        input >> film.genre;
        return input;
    }
 
    friend std::ostream& operator<<(std::ostream& output, const Film& film)
    {
        return output << "Name: " << film.name << std::endl
                      << "Genre: " << film.genre << std::endl;
    }
};
 
int main()
{
    std::list<Film> films(
        (std::istream_iterator<Film>(std::cin)),
         std::istream_iterator<Film>());
    std::cin.clear();
 
    std::cout << "Search. Please input name: ";
    std::string name;
    std::cin >> name;
 
    std::for_each(films.begin(), films.end(), [&name](Film& film) 
        { 
            if (name == film.name)
                std::cout << film;
        });
    return 0;
}
Теперь мне есть что изучить!))
Если можно еще указать откуда ИМЕННО ЭТО можно узнать?
0
NightmareZ
1340 / 563 / 37
Регистрация: 31.03.2009
Сообщений: 1,919
16.08.2011, 03:41 #5
Цитата Сообщение от zombiethegame Посмотреть сообщение
Теперь мне есть что изучить!))
Если можно еще указать откуда ИМЕННО ЭТО можно узнать?
Из любой адекватной книжки по C++.
0
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
16.08.2011, 10:48 #6
Да, NightmareZ прав, сегодня это считается основами (лет 10 -15 назад ситуация была иной).

Цитата Сообщение от zombiethegame Посмотреть сообщение
Если можно еще указать откуда ИМЕННО ЭТО можно узнать?
Я очень настоятельно рекомендую книгу "Философия С++", там 2 тома. Первый полистай, если все знаешь - можешь не читать (хотя там реально интересные вещи есть), второй том читай обязательно - если будет сложно, то начинай с первого.
1
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
16.08.2011, 10:49 #7
Kastaneda, Лямбда пока еще не основы.
0
Kastaneda
16.08.2011, 10:55
  #8

Не по теме:

Цитата Сообщение от ForEveR Посмотреть сообщение
Kastaneda, Лямбда пока еще не основы.
Да, я ее в коде не заметил)

0
zombiethegame
1 / 1 / 0
Регистрация: 08.08.2011
Сообщений: 23
16.08.2011, 16:07  [ТС] #9
А что было 10-15 лет назад?
А то я тогда еще только родился
0
Сыроежка
Заблокирован
16.08.2011, 16:31 #10
Цитата Сообщение от zombiethegame Посмотреть сообщение
Точнее, я более-менее понимаю что это, но все же...
Хотелось бы узнать очень подробно что туда входит. Что бы я мог твердо сказать: "Я знаю основы с++!"
Вообщем не только то что туда входит, а и информация об этих "элементах".
Надеюсь расскажите, а то не знаю - знаю или не знаю я основы)
Только не нужно предлагать книги, не хочу заного все повторять)
Скорей всего это означает знание основных синтаксических конструкций языка без углубленного знания их семантики.

Например, вы можете написать

C++
1
char *s = "SomeString";
Но не знать семантически, является ли эта конструкция корректной, почему так можно писать, а почему можно писать по-другому

C++
1
const char *s = "SomeString";
В каких случаях первая форма корректна, а в каких символьный литерал обязан преобразовываться к константному указателю и.т.д.

Добавлено через 7 минут
Цитата Сообщение от NightmareZ Посмотреть сообщение
Я вот взял первую попавшуюся программу на C++, которую я писал кому-то на форуме.
Всё понимаешь, что тут написано?
Если да - будем копать дальше.
Если нет - ты не знаешь основ C++.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <iostream>
#include <iterator>
#include <string>
#include <list>
#include <algorithm>
 
class Film
{
public:
    std::string name;
    std::string genre;
 
    friend std::istream& operator>>(std::istream& input, Film& film)
    {
        std::cout << "Input name: ";
        input >> film.name;
        std::cout << "Input genre: ";
        input >> film.genre;
        return input;
    }
 
    friend std::ostream& operator<<(std::ostream& output, const Film& film)
    {
        return output << "Name: " << film.name << std::endl
                      << "Genre: " << film.genre << std::endl;
    }
};
 
int main()
{
    std::list<Film> films(
        (std::istream_iterator<Film>(std::cin)),
         std::istream_iterator<Film>());
    std::cin.clear();
 
    std::cout << "Search. Please input name: ";
    std::string name;
    std::cin >> name;
 
    std::for_each(films.begin(), films.end(), [&name](Film& film) 
        { 
            if (name == film.name)
                std::cout << film;
        });
    return 0;
}
Во-первых, ваш код не корректный, так как в С++ нет таких конструкций, как [&name](Film& film) и т.д.. Так что никто ваш некорректный код понимать не обязан. Более того вы вообще семантически безграмотно пользуетесь алгоритмами, так как для поиска элемента в контейнере следует использовать алгоритм std::find, а не std::for_each, либо std::copy_if, если вы пользуетесь нестандартными средствами,, где указывается выходной итератор вместо std::cin.
0
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
16.08.2011, 16:33 #11
Цитата Сообщение от Сыроежка Посмотреть сообщение
С++ нет таких конструкций, как [&name](Film& film)
Уже есть. Лямбда-выражения называются.
0
Сыроежка
Заблокирован
16.08.2011, 16:38 #12
Цитата Сообщение от diagon Посмотреть сообщение
Уже есть. Лямбда-выражения называются.
Что-то я не слышал, чтобы приняли новую редакцию стандарта. Скорей всего вы что-то путаете.
0
asics
Freelance
Эксперт С++
2847 / 1784 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
16.08.2011, 16:41 #13
Цитата Сообщение от Сыроежка Посмотреть сообщение
Что-то я не слышал, чтобы приняли новую редакцию стандарта. Скорей всего вы что-то путаете.
http://www.cyberforum.ru/cpp-experts/thread341611.html
1
silent_1991
16.08.2011, 16:42
  #14

Не по теме:

diagon, полагаю, речь ведётся о том, что стандарт ещё не принят, хотя финальная версия и утверждена. С учётом этого в C++ (в С++ 2003 года со всеми правками) действительно нет лямбда-выражений.

0
Сыроежка
Заблокирован
16.08.2011, 16:45 #15
Я так понял, что одобрили черновой вариант стандарта, а сам стандарт еще не принят официально.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.08.2011, 16:45
Привет! Вот еще темы с ответами:

В этой части кода происходит объявление функций? Что такое void? Что в скобках? - C++
В этой части кода происходит объявление функций? Что такое void? Что в скобках? void get(float **mas, int N, int M); void...

Что такое #, include, что это означает - C++
______

Код не работает,говорит,что не знает,что такое delay(100).в чём проблема?как сделать,чтоб программа заработала? - C++
#include &lt;graphics.h&gt; #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;dos.h&gt; int main() { int...

Кто-нибудь может подробно объяснить, что такое allocators, зачем это и что с ними делать? Нигде не нашёл инфы - C++
Заранее спасибо.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.08.2011, 16:45
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru