![]() |
Тупые вопросы
Такс... добрался я до С++ значить...
Сразу тупые вопросы: 1. Почему вот так катит: Код:
int IntToStr() Код:
string IntToStr() Код:
int m = MessageBoxA(0,"ЫЫ, "Ы", 48+4); в Блице всё блин было человекопонятно Stop после строчки и ищешь переменную в дебаггере Тут ведь всё не как у людей - куча всего ненужного заняло половину интерфейса, а необходимые вещи днём с огнём не сыщешь (простите, не удержался от выражения своего ИМХО) |
Ответ: Тупые вопросы
1. В смысле "не катит"?
2. Слева от кода можно расставлять Breakpoint'ы. ( красные овалы :-D ) А дальше гугл. Ну или: http://www.devdoc.ru/index.php/conte...bugging_p1.htm |
Ответ: Тупые вопросы
ABTOMAT
1) нету в c++ String как встроенного типа 2) ставишь breakpoint на строчку после нужной наводишь в IDE курсор на нужную переменную, всплывает окошко со значением |
Ответ: Тупые вопросы
jimon
1. Забыл указать: в самое начало cpp-файла сунул вот это: #include <string> 2. Можно поподробнее как вставить брикпойнт и что это такое? |
Ответ: Тупые вопросы
Цитата:
|
Ответ: Тупые вопросы
Вложений: 1
ABTOMAT
breakpoint это тот же stop, только без команд, смотри атач, красный кружок это breakpoint, после этого запускаешь прогу с дебагером, прога вылетит в дебаг на красном кружке, обязательно надо компилировать с дебаг информацией (обычно называется debug) string не всегда означает строку, пользуйся std::string, это базовая строка из stl (вроде как для неё и есть инклуд string) |
Ответ: Тупые вопросы
Спасибо! Но ещё немного нада уточнить:
красный куржочек остановит строку ДО того как она начнёт выполняться, или ПОСЛЕ? Т.е. это эквивалентно стопу в начале строки или в конце? |
Ответ: Тупые вопросы
конешно перед строкой до её выполнения
|
Ответ: Тупые вопросы
ABTOMAT
Вылетает там, где поставил, соотвецтвенно переменная может быть еше не инециализирована, тогда - f10( выполнить код на строку ниже ) или f11( войти в функцию и отследить как она работает ) Shift + f11 ( если зашел в функцию, выйти из неё ) Зы: Изучение с++ лутьше проводить по книжке, ибо это совсем не Байсик, и очень много отличий, прочитав за день 100 страниц книги ты узнаешь больше чем за неделю самоучного изучения методом научного тыка! Сам изучал По книге "С++ за 21 день". Само оно для чайников, и глупые вопросы про то, что такое std::string или std::list отпадут сами собой. |
Ответ: Тупые вопросы
ABTOMAT
если поставить на строку, то вылетит перед её выполнением ps. книжка "C++ за 21 день" рулит для начала :) нормально обьясняются большинство базовых вещей |
Ответ: Тупые вопросы
Цитата:
|
Ответ: Тупые вопросы
Можно посмотреть обложку сей книги? И аффтара?
З.Ы. У меня есть книжка по С++ но только там уже предполагается что читатель уже знает синтаксис Си (не ++) и даётся только в общем, без описания MS VC++ 2005 или других компиляторов Короче книженция уже для продвинутых Так шо если советуете этот С++ за 21 день, то постараюсь найти в кн. магазине |
Ответ: Тупые вопросы
если уж "тупые вопросы" здесь, то и я спрошу !! ;)
Вот как в с++ обменять значения двух переменных не используя третей переменной ?? ДО: а=5, с=10 ПОСЛЕ: а=10, с=5 Спасибо !! :) |
Ответ: Тупые вопросы
|
Ответ: Тупые вопросы
jimon,IGR
+тема с подобным: http://forum.boolean.name/showthread.php?t=275 |
Ответ: Тупые вопросы
jimon
гугал я и сам знаю, да все они там различаютсмя, мне же нужна конкретика |
Ответ: Тупые вопросы
ABTOMAT
у меня такая http://www.williamspublishing.com/Books/ty21_Cpp.html но о работе с IDE или тонкостями настроек компилятора там ни слова так же ни слова о солюшенах, проектах и тд |
Ответ: Тупые вопросы
Тоже задам тупой вопрос:
сообщение VC++ в логе отладки "Detected memory leaks!", свидетельствующее об утечке памяти - является чисто диагностическим ("ах-ох! наверно, что-от идёт не по логике программиста") или всё же реально представляет угрозу, и "деструктор приложения" не сможет в Release удалить все динамически созданные объекты? Ведь если реализуется 2ое - то любое нештаное заврешнеи программы - это срач в память (да получается и штаное - тоже) |
Ответ: Тупые вопросы
Цитата:
impersonalis, ненашел !! :( |
Ответ: Тупые вопросы
наверно этот вариант:
Код:
b = a Xor b; |
Ответ: Тупые вопросы
наверно, но у меня ТС вообще такую команду Хор незнает !! :(
|
Ответ: Тупые вопросы
Привет завсегдатаем! Принимайте еще одного тупого! :)
Я недавно осваиваю VC++ и OpGL... У меня вопросик - как принимать в своей проге вращение колесика от мыши? Я пока нащупал ф-ию WM_MOUSEWHEEL. Но не могу найти как определить направление вращения колесика? А? Скинте примерчик... |
Ответ: Тупые вопросы
|
Ответ: Тупые вопросы
ап. чо - на столько тупой вопрос?
|
Ответ: Тупые вопросы
Спасибо, врубился! (Хотя все как-то криво выглядит) :)
|
Ответ: Тупые вопросы
impersonalis
у меня такой месаги не было просто, есть предположение что после окончания работы твоей проги она не все за собой удалила, потому за ней удаляет система :) |
Ответ: Тупые вопросы
Еще вопросик:
В режиме дебага все компилится и запускается нормально, а в режиме релиза начинает ругаться линковщик на команды OpenGL, например: error LNK2001: unresolved external symbol __imp__wglUseFontBitmapsA@16 error LNK2001: unresolved external symbol __imp__glGenLists@4 error LNK2001: unresolved external symbol __imp__glDeleteLists@8 error LNK2001: unresolved external symbol __imp__glPopAttrib@0 error LNK2001: unresolved external symbol __imp__glCallLists@12 error LNK2001: unresolved external symbol __imp__glListBase@4 error LNK2001: unresolved external symbol __imp__glPushAttrib@4 ... Не подскажите в чем проблема??? |
Ответ: Тупые вопросы
Разобрался, всем спасибо.
|
Ответ: Тупые вопросы
Цитата:
спасибо !! ;) |
Ответ: Тупые вопросы
2IGR
этот фокус можно проделать на базе любых операторов, удовлетворяющих условию. На сколько я понимаю, условие заключается в следующем: op(A,B)=C => op(C,B)=A для всех A,B входящих в множество X, для которого опеределён оператор op. a XOR b = c => c XOR b = a Если же нет ограниченяи на кол-во операторов, то op1(A,B)=C => op2(C,B)=A для всех A,B входящих в множество X, для которого опеределёны операторы op1,op2. 4 + 1 = 5 => 5 - 1 = 4 Для последней задчи подоходят аддитивные операторы + -, мультипликативные (с ограничением на возможность реализации бесконечной точности - подбором аргументов, либо использованием аналитического решения): 5 : 6 = 5/6 => 5/6 * 6 = 5 при не выполнении условия результат воздействия первого оператора невозможно сохранить в адекватном представлении 0.8(3). Если для случая использования одного оператора зафиксировать второй аргумент, т.е. какбы внести его в оператор, то условие приобреатет следующий вид: Aopa=C => Сopa=A (фиксируем B). Описанный оператор opa можно рассматривать как некую биекцию R, обладающую свойством симметричности: aRb => bRa для всех a,b, принадлежащих множеству X, на котором определена биекция R. Для случая двух операторов, нам понадобяться две биекции (G,D), такие что: aDb => bGa для всех a,b, принадлежащих множеству X, на котором определены биекции D,G. собственно при тождестве D=G получаем описанный выше случай для биекции R. Пусть есть два числа 1 и 2. Зафиксируем число 2, "внеся" (х3 как тралировать этот жаргонизм в приемлимое мат.описание) его в биекцию S, полученную из оператора сложения, получим: 1S3 Возьмём оператор вычитания и "внесём в него" 2 - получим биекцию D: 3D1 Помниться, в какой-то литературе по алогритмике, я читал комментарий к temp-переменной: нельзя поменять местами жидкости в двух сосудах, не используя 3ий. Опровергнуть сказанное в свете вышенаписанного можно следующим образом: Числа, кроме всего прочего, характеризуются "весом". Т.о. аналогия с жидкостями неполна (критично!), если не ввести понятие о плотности жидкостей, причём жидкости с одинаковой плотностью рассматривать как одинаковые (подобно тому как бессмыслена задача по обмену значениями перменных, изначально равных друг-другу). Введём оператор SUB вычленения из ёмкости жидкости по её весу - аналогично с числовыми операциями (физически 2 жидкости разнйо плотности распредлятся в сосуде одна под другой - так что оператор реализуем на практике). Введём оператор ADD смешивания двух жидкостей. Возьмём жидкость (кефир) и менее плотную (вода). Объединим их простым пермешиванием. кефирADDвода=бурда бурдаSUBвода=кефир если зафиксировать воду, как постоянную составляющую оператора - получим биекции A,S, такие что: кефирAбурда бурдаSкефир Физический смысл биекции А - подлив воды в оперативную ёмкость; S - вычленение одного из (не совпадающего по плотности с водой) двух слоёв, на которые разделится бурда в установившемся режиме. Так что, автор пособия несколько заблуждался. |
Ответ: Тупые вопросы
ясно !! спасибо !!
хотя ето все-го лиш лабораторная !! у меня немного другой вопрос: вот есть шаблон класса !! передаем переменный-значеня разного типа !! как узнать какого типа переменная ?? передали допустим 4.567 и в результате должные получить ответ от "искуственного моска" что это флоат !! Блин, нас этого и близко не учили, а требуют !! |
Ответ: Тупые вопросы
IGR
шаблон только знает "имя" класса - то которое задаешь в шаблонном описании, обычно T используют можно приводить типизацию к T или к другому классу который описан как шаблон в нашем шаблоне зачем тебе конкретно знать что это float - я не имею представления |
Ответ: Тупые вопросы
а почему float, а не, например, double?
|
Ответ: Тупые вопросы
Цитата:
Цитата:
когда в функции-шаблоне я плюсую 2 переменных, то програма врядли станет плюсовать int с char т.е. компилятор видит разницу в этих типах переменных !! мне нужно что бы он увидел тип переменной и сообщил об этом пользователю !! |
Ответ: Тупые вопросы
IGR
ну дык в чём проблемма ? в ХИДЕРЕ ОПРЕДЕЛИ метод класса для определённого типа в шаблоне (определять после шаблона надо) тоесть ты можешь определить одну функцию по разному для разных типов, к примеру char и для int для int ты определяешь просто a1+a2, а для char используешь atoi и тд тут есть пример даже где шаблонный класс определяется для заданного типа |
Ответ: Тупые вопросы
ну ето немоне то !! :)
по идее у меня должна быть функция WhatIsClass(T x) !! Потом: int int_value=34; char char_string="Skoro_Sessia"; doublу double_value="32654"; Потом когда мы передаем любую из этих переменных у функцию: WhatIsClass(char_string); Пользователю должно, допустим высветится на екране: Char variable !! Можно ли такое ?? Я тут совсем запутался !! :SOS: |
Ответ: Тупые вопросы
IGR
ну сделай это как я сказал а функции такой нету, в принципе в памяти то любая переменная это просто указатель на место где она хранится, про размер или тип ничего не говорится |
Ответ: Тупые вопросы
jimon, окай !! попробую так !!
Вот еще книжку по ООП докачаю, может сам че придумаю !! Спасибо !! :beer: |
Ответ: Тупые вопросы
Код:
WhatIsClass(std::string val) |
Ответ: Тупые вопросы
HolyDel
тогда уж Код:
#define __REGISTER_TYPE(_type) char * WhatIsClass( const _type & val ){return #_type;} |
Ответ: Тупые вопросы
jimon, можно и проще:
Код:
#include <typeinfo> |
Ответ: Тупые вопросы
Цитата:
вот мне это часа 3 назад на лекции прочитали !! :-) и тут маленький вопрос: что такое std и зачем оно ?? |
Ответ: Тупые вопросы
IGR
std это пространство имен STL |
Ответ: Тупые вопросы
Цитата:
|
Ответ: Тупые вопросы
Цитата:
А про std во всех книжках для новичков пишут :) |
Ответ: Тупые вопросы
я незнаю что это такое потому что незнаю что ето такое !! (рекурсия получилась :-) ) по этому и спросил !! хз...мож де и встречал !!
автомобилисты, ездить на машине, работать на СТО и незнать что такое offtop !! :cool: |
Ответ: Тупые вопросы
Вот установил borland c++ builder 6 и нашел библиотеки directx 9 sdk как ее нормально установить, а то у меня ошибки выдает
|
Ответ: Тупые вопросы
никак, качай теперь microsoft visual studio 2005, или используй opengl
|
Re: Тупые вопросы
кто че знает на счет static_cast и dynamic_cast и вообще почему нереально(по крайней мере VC++ ругается) преобразовать float в char?
|
Ответ: Тупые вопросы
mr.DIMAS
1) http://msdn.microsoft.com/en-us/libr...8h(VS.80).aspx 2) потому что float занимает 4 байта, а char только 1 байт можно преобразовать float в масив char - те в строку |
Re: Тупые вопросы
2Jimon
плиз на конкретных примерах насчет float -> char[] |
Ответ: Тупые вопросы
хм. почему нельзя преобразовать float в char?
Код:
float a = 64.4f; по второму вопросу: Код:
char *pc = new char[4]; |
Ответ: Тупые вопросы
HolyDel
1) хым ну всё равно не логично float это переменная с плавающей запятой, char это целое значение они не связываются логично, к чему не явная типизация ? притом что будет если приводит к char к примеру число 257.4f ? 2) sprintf больше нравится ) |
Ответ: Тупые вопросы
Тут ответ весьма прост: потому что нет однозначного алгоритма преобразовать дробное число в букву!!! На любой дурацкий вопрос - всегда будет дурацкий ответ!!!
|
Ответ: Тупые вопросы
jimon, вполне логично. или тебя смущает разный размер типов, занимаемой памяти?
257.4f очевидно превратиться в 1 (или -127). просто преобразование проходит в два этапа - сначала в просто целое (отбрасывая дробную часть) потом уже в 1байт. |
Re: Тупые вопросы
2Morganolla
бля мне нужна просто преобразование флоата в чар для того чтобы мона было флоат выводить при помощи DrawText(апишная ф-ция). |
Ответ: Тупые вопросы
дык тогда тебе нужно преобразование в char* а не char.
тут кури sprintf. http://social.msdn.microsoft.com/Sea...y=sprintf&ac=1 |
Ответ: Тупые вопросы
2mr.DIMAS
для того чтобы мона было флоат выводить при помощи DrawText - это дружочек не просто :) , а форматируемое преобразование в стринг. Я же говорил, что вопрос - некорректный! |
Re: Тупые вопросы
Спасибо, ребята. Помогло!
|
Re: Тупые вопросы
Раз эта тема называется "Тупые вопросы". То вот еще один:
Как в DX9 сделать перемещение объекта под заданным углом? А то перемножением матриц кручения и перемещения не помогает. Плиз ответьте. Оч надо |
Ответ: Тупые вопросы
хым, ну вектор перемещения множишь на матрицу поворота и добавляешь результат к вектору позиции (вроде как матрицу поворота на вектор перемещения, точно не помню)
|
Re: Тупые вопросы
а мона поконкретнее, а то (извини) не очень врубил
|
Ответ: Тупые вопросы
PositionVector += RotationMatrix * MoveVector
|
Re: Тупые вопросы
А если матрицами?
Ent->mResult = Ent->mRotation * Ent->mPosition ; Ent->mResult._11 *= Ent->mScale._11; Ent->mResult._22 *= Ent->mScale._22; Ent->mResult._33 *= Ent->mScale._33; Ent->mResult._41 = Ent->x; Ent->mResult._42 = Ent->y; Ent->mResult._43 = Ent->z; Плиз вот таким раком надо. И еще. Надо чтоб переместил объект под заданным углом в нужную точку,а затем поворачивать от этой точки |
Часовой пояс GMT +4, время: 16:55. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot