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

создание функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вопрос про mkdir http://www.cyberforum.ru/cpp-beginners/thread55128.html
У меня уже есть идея реализации но мне кажется есть способ проще! И так к делу вот часть кода точнее строчка WinExec("cmd /c mkdir d:\\MyFolder\\",0); мне надо так чтобы пользаватель мог задавати букву диска сам, а папка MyFolder оставалась не изменной! Подскажите как это реализавать и не стесняйтесь задавать дополнительные вопросы. Зарание извеняюсь если такая тема была.
C++ Чтение из файла Есть задание: написать программу,которая считывыает числа из файла, написанные в нем через пробел. Числа кодируются и записываются в новый файл. Кодируются следующим образом: повторяющие числа, идущие друг за другом, заменяются одним этим числом и через двоеточие указывается количество повторений этого числа. Далее нужно считать числа кодированные числа из файла и раскодировать их обратно,... http://www.cyberforum.ru/cpp-beginners/thread55097.html
Присваивание... C++
char f = 300; cout << f; system("PAUSE"); char f = 300; int s = f; cout << f; system("PAUSE");
Трассировка программы C++
Добрый вечер Форумчане. Не могу провести трассировку программы на С. Кто-нибудь сталкивался с трассировкой? #include <conio.h> #include <iostream.h> #include <math.h> struct point //структура координаты { float x;
C++ Масив объектов http://www.cyberforum.ru/cpp-beginners/thread55071.html
Вот читаю тему массив объектов. набрал небольшой код, но программ не идёт. #include <iostream> using namespace std; class MyClass { int x; public: void set_x(int i) { x = i ; } int get_x() { return x; }
C++ Динамический массив структур Реализовать программу для хранения информации о пациентах больницы. Предусмотреть следующие поля: ФИО, диагноз, Для пациентов, стационарно находящихся в больнице указать номер палаты, последнюю измеренную температуру, назначенные лекарства. Для пациентов, находящихся на домашнем лечении указать домашний адрес, дату последнего посещения. Предусмотреть отображение всех пациентов, добавление и... подробнее

Показать сообщение отдельно
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,315
10.10.2009, 17:03     создание функции
Цитата Сообщение от kravam Посмотреть сообщение
Видно, что второй способ пусть ненамного, но дольше. [....]
И так 3 раза, итого 6 инструкций [.....]
И так 3 раза. Всего 9 команд
К сожалению, это заблуждение. Современные процессоры имеют два конвейера выполнения и скорость исполнения кода определяется не только числом инструкций, но и возможностью их распараллеливания (спаривания, pairing) в конвейерах.
Конкретно для твоего примера, обе последовательности инструкций выполняются за 6 тактов (инструкции MOV и LEA во втором варианте кода независимы и поэтому выполняются за 1 такт в конвейерах U и V). Первый же вариант кода по Стандарту языка является, кроме того, и небезопасным, порождая Undefined behavior. И то, что наблюдаемые эффекты от этого UB совпадают с "желаемыми" - ничего не значит. Это просто чистое везение. Неизвестно, что произойдет при переносе кода на другой компилятор (например, через N лет на какой-нибудь VC++ 2020 ).

Добавлено через 18 минут
PS: вот любопытства для прогнал тестовую программу под Intel VTune Perfomance Analyzer. Компилятор MSVC++ 2005, Release, оптимизация по скорости выполнения. Результаты:
C++
1
2
3
4
5
6
7
8
9
10
{
    a ^= b ^= a ^= b;   // 819 попугаев
}
// ......
{
    int temp = a;       // 216
    a = b;              // 317 
    b = temp;           // 227
                        // итого: 760 попугаев
}
 
Текущее время: 10:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru