Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Вобщем первое что интерисует это где можно найти описание всех функций, классов стандартных библиотек (желательно на русском), после php превык что всё собрано в одном месте, а для с++ ещё такого не нашёл.
Второй вопрос про тип char
то пишет полснотью, чем отличается указатель на строку от простой строки символов? И как можно перевести из одного в другоеи обратно?
3 вопрос: как заставить програму зависнуть в памяти без командной строки. Тоесть в диспечере задач програма запущена и отображается но на экране ничего не видно?
Ну и последний вопрос где и какую литературу можно прочитать для освоения современого с++? Я читал http://valera[dot]asf[dot]ru/cpp/book/ там вроде как по синтаксису всё неплохо расписано, но ни стандартных библиотек ни всевозможной работы с ос не расписано.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
caballero
Отправлено: 13 Октября, 2011 - 17:21:38
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011 Откуда: Днепропетровск
Помог: 28 раз(а)
OrmaJever пишет:
описание всех функций
msdn, если програмируете на VS. Там же есть браузер классов, методов функций...
OrmaJever пишет:
в памяти без командной строки
в виде службы или демона?
----- if(time()>1356048000) die();
OrmaJever
Отправлено: 13 Октября, 2011 - 18:49:34
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
caballero пишет:
это не строка символов а один символ
а вот почему так? Это ограничение этого типа?
White пишет:
в виде службы или демона?
в виде демона, примерно как ддос боты
Но хотелось бы увидеть и второй вариант.
White пишет:
msdn, если програмируете на VS. Там же есть браузер классов, методов функций...
нет, поставил редактор code blocks там был компилятор minGW.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Champion
Отправлено: 13 Октября, 2011 - 19:27:04
Активный участник
Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008 Откуда: Москва
Помог: 57 раз(а)
OrmaJever, можешь попробовать поизучать Си http://corum[dot]mephist[dot]ru/index[dot]ph[dot][dot][dot]459183&st=75 вот с этими людьми. Зная Си, с указателями проблем не будет) (Добавление)
По поводу char aa = 'string'
1 - строки пишутся в двойных кавычках.
2 - в С++ нет массивов как таковых. Есть типы данных целый, символ, вещественный .... и есть указатели на такие же типы. Массивы - это просто указатель на первый элемент определенного типа. Так же и со строкой - это указатель на начало последовательности char - ов.
Записи a[4] и *(a+4) - эквивалентны и вернут одно и то же.
3 - в С++ есть замечательная библиотека STL, в которой реализованы классы строк, очередей, стеков, массивов и пр. При работе с этими структурами данных лучше использовать STL. Но понимать указатели надо обязательно и написать свою реализацию какого-нибудь класса STL - полезная практика.
В общем, думаю, стоит начать со ссылочки выше.
OrmaJever
Отправлено: 13 Октября, 2011 - 19:50:43
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Champion пишет:
1 - строки пишутся в двойных кавычках.
Ладно спрошу так как раньше спрашивал про php.
В чём разница одинарных и двойных кавычек в c++? Если мы вроде как разобрались что в двойных находится строка то чтоже в одинарных?
Champion пишет:
2 - в С++ нет массивов как таковых. Есть типы данных целый, символ, вещественный .... и есть указатели на такие же типы. Массивы - это просто указатель на первый элемент определенного типа. Так же и со строкой - это указатель на начало последовательности char - ов.
Записи a[4] и *(a+4) - эквивалентны и вернут одно и то же.
Это всё прочитал и понял... хотя может и не понял... После php указатели для меня большая беда, Может есть сайт где подробно расписано про эту гадость?
Champion пишет:
3 - в С++ есть замечательная библиотека STL, в которой реализованы классы строк, очередей, стеков, массивов и пр. При работе с этими структурами данных лучше использовать STL. Но понимать указатели надо обязательно и написать свою реализацию какого-нибудь класса STL - полезная практика.
Я пока боюсь использовать типы vector, list, string потому что нету конретного описания каждого метода, и для меня бывает большим удивлением возвращаемые значения даже тех методов которые я знаю.
Блин вот хочется выучить но вся информация разбросана по интернету и иногда в таком виде что лутше её не читать.
Ах да, хотел ещё спросить разницу между
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Champion
Отправлено: 13 Октября, 2011 - 20:04:28
Активный участник
Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008 Откуда: Москва
Помог: 57 раз(а)
OrmaJever пишет:
чтоже в одинарных?
В одинарных - одиночный символ. При чем "a" - это 2 символа - 'а' и '\0', т.е. строка из одного символа один символ - разные вещи)
OrmaJever пишет:
Блин вот хочется выучить но вся информация разбросана по интернету
В той ссылке, которую я привел, были приведены ссылки на какие-то книжки, а автор той темы, по-моему, вполне разумный человек и очень хочет других научить Си, так что вот как раз думаю, что чем лазить по инету, поучавствуй в том деянии.
OrmaJever пишет:
char str;
// и
char* str = new char(10);
В первом случае str - переменная типа Символ. Во втором - str - это указатель на Символы и указывает он на место длиной 10 Символов.
OrmaJever пишет:
str = 'dasdas';
Опять одиарные кавычки) Ничего он не выделит str останется символом.
Я раньше думал, что такая запись вообще ошибку выдаст, но вроде не выдает, судя по
OrmaJever пишет:
почему то выводится
(Добавление)
Если написать char *str = "qwerty"; То выделится память под str и в эту память поместится строка. При написании в двойных кавычках происходит такая вещь: выделяется память под qwerty, получается на нее указатель и этот указатель записывается в str.
Т.е. написать
Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008 Откуда: Москва
Помог: 57 раз(а)
Champion пишет:
Видимо, мне тоже надо поразмыслить.
Так. Поразмыслил. В билдере сделал такую программку - вывела так. как я и ожидал - две одинаковые строки "qweety".
Правда, если компилить с пом. g++, то на операторе = происходит segmentation fault. Точнее, происходит не если компилить, а когда запускать. Честно говоря, я не в курсе как это объяснить
ALEN
Отправлено: 14 Октября, 2011 - 19:55:22
Участник
Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008 Откуда: Крым
Помог: 11 раз(а)
Есть вообще небольшой совет, чтоб не тратить время сразу выбирай себе фрэймворк и используй его. С++ не PHP. Тем более бери фрэймворк, если будешь писать кроссплатформенные приложения. Потом все равно вникаешь в тонкости работы, просто не придется время убивать.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.