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

Вопросы по С++ и не только (~40 вопросов) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Autoit to C++ http://www.cyberforum.ru/cpp-beginners/thread633457.html
Здравствуйте, кто знает Autoit, перепишите на с++ пожалуйста) Func GETWOWBASEADDRESS($PID) $HSNAP = DllCall("Kernel32.dll", "HANDLE", "CreateToolhelp32Snapshot", "DWORD", 8, "DWORD", $PID) $STMODULE = DllStructCreate("DWORD dwSize;DWORD th32ModuleID;DWORD th32ProcessID;" & "DWORD GlblcntUsage;DWORD ProccntUsage;ptr modBaseAddr;" & "DWORD modBaseSize;HANDLE hModule;WCHAR szModule;" &...
C++ Статическая переменная в шаблоне // // (---.Array_hpp---) // #ifndef Array_HPP // Preprocessor gates #define Array_HPP #include <sstream> #include <iostream> #include <exception> http://www.cyberforum.ru/cpp-beginners/thread633421.html
расчет значения e^x(x это степень) C++
есть задача,в котором нужно рассчитать значение e^x. Проблема в том что я даже понятие не имею что это такое это экспоненто в степени x. Но, недавно написал программу которая высчитывает экспоненту по факториалу. Вот сама программа: // программа для высчитывания мат. константы - е #include <iostream> #include <locale.h> using namespace std; int main() { setlocale(LC_ALL, "RUS");
Получение числа из переменной C++
К примеру: int s=326; Как можно получить числа 3,2 и 6? ( Я делаю небольшую игру и мне необходимо это для вывода очков )
C++ Битовое ИЛИ. Пердача нескольких констант в один параметр функции http://www.cyberforum.ru/cpp-beginners/thread633374.html
здраствуйте! иногда в примерах програмного кода замечаю, что несколько констант передаются в один парметр функции с помщью битового или. так, например, изучая понемногу d3dx9 решил всетаки спросить в чем хитрость такого механизма? думаю посмотрев пару строчек кода ниже вы поймете о чем я. bool Display(float timeDelta){ if(Device){ Device->Clear(0, 0, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,...
C++ Считывание символов из строки Здравствуйте, форумчане. Можете подсказать, каким образом можно считать из RichTextBox символы до какого либо знака-разделителя, записать их в переменную и потом, после этого знака, тоже считать и записать в другую переменную? Т.е. чтобы строка "9995882323//babai@mail" читалась как номер, записанный в одной переменной, и почта, в другой переменной, а потом считывание переходило бы на новую... подробнее

Показать сообщение отдельно
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
06.08.2012, 02:23     Вопросы по С++ и не только (~40 вопросов)

Не по теме:

Ничего себе погрешность вычислений. Пара... Есть же слово «несколько»

Классная подборка «подъе задай хитровыебый вопрос соискателю на собеседовании».

Сколько месяцев собирали?



5. Перечисления — поименованные константы целочисленного типа (int, long или что там — выбирает комплиятор так, чтобы все значения влезли). Соответственно, целочисленные значения и другие перечисления можно приводить к другим перечислениям (но отсторожно; если значения не сойдутся — undefined behavior). Значения константам можно задавать руками, если не задавать — нумеруются последовательно от нуля (или ближайшего заданного).

6. Угу, может. А может и нет. Компилятор обязан обеспечить, чтобы все значения влезли. Если их всего 40 штук и они меньше 40 по значению, то он волен выбрать как char, так и int.

7. Потому что delete[] для созданного new[], а delete — для new.

8. Это надо спрашивать у разработчиков компиляторов, разработчиков оператора new для этого класса и разработчиков ОС. Логичней всего: или где-то в специальной таблице, или сразу же перед выделенным куском памяти.

9. Она отрабатывет во время компиляции и, соответственно, спрашивает у парсера, что это — массив или указатель.

10. Имя массива при приведении к типу указателя становится указателем на первый элемент массива. a и &(b[0]) — одно и то же.

10 (дубликат). Потому что эта память уже вам не принадлежит после delete. Считайте, вон та информация из восьмого вопроса стёрта; и вообще этот кусок памяти перед вторым delete уже мог быть кому-то отдан.

11. К булевому.

12. *x возвращает lvalue, а значит его можно спокойно инкрементировать.

13. Потому что while (тип имя = значение) — особый синтаксис для while, эквивалентный
C++
1
2
3
4
5
6
{
  тип имя = значение;
  while (имя) {
    // ...
  }
}
operator<< у ostream ждёт, что вы ему значение дадите.

15. Инициализация — форма объявления переменной. Соответственно, у неё свой синтаксис. Это не две отдельные операции.

16. Это отработала оптимизация. Вместо всех обращений к a компилятор влепил сразу 5.

17. (Не уверен.) Возможно, это компилятор так следует стандарту. Они должны быть одинаковы: ссылкой на константый name.

18. Декларация register — это просьба компилятору «пожалуйста, постарайся запихнуть это в регистр, а если не выйдет, то сделай auto (как обычно)». Если вы берёте адрес, то компилятор и пытаться не будет положить её в регистр.

19. (Не уверен.) Потому что компиляторы поумнели и теперь могут генерировать код, высчитывающий переход на лету, а не во время компиляции.

20. Глобальные static-переменные не экспортируются из файла, да. К ним можно обращаться только внутри этого файла.

21. Ниоткуда. Не хватает — получай сегфолт. Placement new ожидает, что места выделено достаточно, чтобы конструктор отработал нормально.

24. Потому что это дело компилятора, в каком порядке и куда их совать. Он их вообще через регистры может передавать.

26. Потому что объявление "тип имя = значение", где тип значения не совпадает с типом объявляемой переменной подразумевает, что у объявляемого типа должен быть конструктор, который может принимать этот тип значения. Додумывать промежуточные преобразования компилятор не решается.

27. Потому что от прямого доступа к памяти через указатель не спасает ничто.

29. Возвращаемое значение функции — это rvalue, да. Но если это объект, то методам этого объекта разрешается изменять rvalue-величину (если она не const).

30. В желудке парсера. Тип выводится по определённым правилам и запоминается парсером.

31. (Немного не понял.) Встроенные операции не перегружаются принципиально. Все, относящиеся к собственным типам данных — пожалуйста.

33. Потому что копия потока — это не тот же самый поток.

34. Никак. Параметры по умолчанию подставляются при компиляции.

36. (Не уверен.) Потому что для явного приведения типов и так есть запись.

38. Потому что компилятор и так видит тип после слова operator.



Что-то я спать уже хочу...
 
Текущее время: 00:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru