Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Обучение и начало програмирования на С++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

Открыть новую тему     Написать ответ в эту тему

WiseAlex



Софтовых дел М...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vserd
остается развести руками - я всегда знал, что vc6 не любит stl, но чтобы настолько... msdn говорит о такой проблеме для vc5, но не для vc6. Были у vc проблемы совмещения stl и mfc - попробуй чисто консольное приложение

Всего записей: 1001 | Зарегистр. 02-03-2003 | Отправлено: 21:05 11-08-2005 | Исправлено: WiseAlex, 21:07 11-08-2005
vserd

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
wiwiw

Цитата:
#include <string>  

Спасибо!!!
С ним заработало.  
 
Хотя до этого было #include <string.h> :((((

Всего записей: 2065 | Зарегистр. 08-05-2002 | Отправлено: 11:34 12-08-2005
TheChampion

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vserd
Стандарт ISO 14882. Теперь заголовки без .h, а все библиотечные классы находятся в пространстве имен std.
 
Лично для меня странно, что есть люди, которые об этом не знают. Он же принят 7 лет назад

Всего записей: 656 | Зарегистр. 25-06-2004 | Отправлено: 13:55 12-08-2005 | Исправлено: TheChampion, 13:56 12-08-2005
vserd

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TheChampion

Цитата:
Стандарт ISO 14882. Теперь заголовки без .h, а все библиотечные классы находятся в пространстве имен std.  

До стандарта пока не дорос :(
Я не волшебник, я только учусь :) Так что набиваю шишки и разведываю местоположение граблей на собственном опыте :))

Всего записей: 2065 | Зарегистр. 08-05-2002 | Отправлено: 18:36 12-08-2005
sket4



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TheChampion
еще от компилеров зависит(чаще всего), где-то с расширением заголовка, где-то без...
где-то требуется using namespace std, где-то - нет %)))

Всего записей: 712 | Зарегистр. 07-05-2004 | Отправлено: 19:30 12-08-2005
TheChampion

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sket4

Цитата:
еще от компилеров зависит(чаще всего), где-то с расширением заголовка, где-то без...

Только в древних компиляторах.

Цитата:
 где-то требуется using namespace std, где-то - нет %)))

Да нигде не требуется. См. Страуструпа.

Всего записей: 656 | Зарегистр. 25-06-2004 | Отправлено: 19:46 12-08-2005
EAS



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TheChampion

Цитата:
Да нигде не требуется

Может все-таки наоборот?

Цитата:
 См. Страуструпа.

Как раз по этому поводу Страуструп пишет, что глобальный using namespace std есть не очень красиво, а сам он опускает std:: только для лаконичности кода (как и #include).
Если где-то есть обратное утверждение, было бы интересно взглянуть (получить более точные координаты, главу хотя бы); может я и ошибаюсь
 

Цитата:
еще от компилеров зависит(чаще всего), где-то с расширением заголовка, где-то без

Согласно ISO 14482:1998 (17.4.1.2) [lib.headers], стандартные С++ заголовки именуются без .h. Средства Standard С Library предоставляются тоже через заголовки без .h (с префиксом c-, e.g. <cstdlib>, <cmath>) в пространстве имен std, и предпочтительно использовать именно их.
При этом, для совместимости с Си в большинстве компиляторов старые заголовки (<stdlib.h>, <math.h> etc) оставлены, естественно в глобальном пр-ве имен. Отсюда и возникают различные варианты.

Всего записей: 441 | Зарегистр. 18-07-2003 | Отправлено: 00:47 13-08-2005 | Исправлено: EAS, 00:48 13-08-2005
TheChampion

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EAS

Цитата:
 Да нигде не требуется

Да, именно так. Ты прав насчет Страуструпа. Он так и пишет. using namespace std; не надо использовать, надо предварять заимствования префиксом std::.
 

Цитата:
естественно в глобальном пр-ве имен. Отсюда и возникают различные варианты.

Совместимость совместимостью, но не надо в 2005 году писать со стандартом 1995 года.

Всего записей: 656 | Зарегистр. 25-06-2004 | Отправлено: 08:47 13-08-2005
OtD

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем
Кто что может сказать за STLport от SGI?
Пробовал STLport, вылазеют глюки, а при переключении на STL от RW(Rogue Wave) всё ровно в BCB6.  
И ещё вопрос: какая STL используется в VC6, VC7 и т.д.? Заранее спасибо.

Всего записей: 50 | Зарегистр. 02-06-2005 | Отправлено: 14:55 15-08-2005
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Никто не подскажет как получить скорость ИНет-соединения (корое выводится в свойствах этого соединения в SysTray)

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 15:01 16-08-2005
sket4



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TheChampion
да, ты бы логически подумал, либо в коде везде расставлять std::, там, где требуется ввод/вывод, либо одной строчкой решить все проблемы...
 
да, еще рекоммендуют использовать пространство имен std; там, где это необходимо, но, опять же, не проще ли один раз написать строчку в начале программы, все равно ведь код <iostream> инклудится, куда тут от него денешься, а мороки больше...
 
EAS
стандарты, не стандарты, какая разница, я пользовался devc++ и gcc, один требует .h префикс(гцц), другой - нет...и оба ругаются и не могут найти такого файла, если не соответствует, насчет стандартов с++, это вообще черная дыра..

Всего записей: 712 | Зарегистр. 07-05-2004 | Отправлено: 12:56 21-08-2005
OtD

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
За глюк в STLport
Кому не трудно, проверьте.

Код:
 
# include <fstream>
# include <iostream>
 
void main()
{
  fstream f1("Test1.txt", ios::in|ios::out);
  if(!f1) cout << "Not file";
}
 

 
На STLport файл не открыт, в BCB6 , а на RW всё ровно.
Страно, но может ещё кто какие глюки нашёл. Выкладывайте

Всего записей: 50 | Зарегистр. 02-06-2005 | Отправлено: 19:30 25-08-2005
Jeck



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня просьба, я начал изучать C++. Может кто-то знает где можно найти упражнения. Хочу потренероваться нечего нормальнгого найти не могу. Спасибо всем.

Всего записей: 402 | Зарегистр. 28-03-2002 | Отправлено: 11:43 29-09-2005
WiseAlex



Софтовых дел М...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Jeck
посмотри у страуструпа - там много разных упражнений

Всего записей: 1001 | Зарегистр. 02-03-2003 | Отправлено: 12:17 29-09-2005
Jeck



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
WiseAlex
Спасибо, если можно дайте ссылку, пожалуйсто.

Всего записей: 402 | Зарегистр. 28-03-2002 | Отправлено: 23:44 29-09-2005
WiseAlex



Софтовых дел М...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Jeck
по поводу поиска книг есть соответствующие топики - см. Путеводитель

Всего записей: 1001 | Зарегистр. 02-03-2003 | Отправлено: 10:37 30-09-2005
sverhmonstr



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мат. функция разложена в ряд. Функция на C должна подсчитывать сумму при заданном n=константа. Например, 10.  Отдельно создана функция для подсчёта факториала.

Код:
float ryad(float l);
float ryad(float l)
{
        float s=0;
        for(int k=0; k<=n; k++)
        {
            s=s+pow(log(3),k)*pow(l,k)/factorial(k);
        }
        return s;
}

Не работает, ошибку найти не могу. Помогите, пожалст

Всего записей: 405 | Зарегистр. 27-01-2002 | Отправлено: 18:02 30-09-2005
sket4



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 
float ryad(float l);
float ryad(float l)
{
        int k, n=10;
        float s=0;
        for(k=0; k<=n; k++)
        {
            s=s+pow(log(3),k)*pow(l,k)/factorial(k);
        }
        return s;
}
 
int main() {
    ryad(5);
    
    return 0;
}
 

 
что-то около этого, но нужно включить заголовок с функцией pow, должна быть объявлена и написана сама функция factiorial+функция log.
 
удачи.

Всего записей: 712 | Зарегистр. 07-05-2004 | Отправлено: 20:47 30-09-2005
sverhmonstr



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sket4
#include <math.h> - pow там есть. factorial - объявлена, написана, работает.

Всего записей: 405 | Зарегистр. 27-01-2002 | Отправлено: 21:11 30-09-2005
sverhmonstr



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос снимается, проблема была в делении на факториал нуля

Всего записей: 405 | Зарегистр. 27-01-2002 | Отправлено: 14:45 01-10-2005
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Обучение и начало програмирования на С++


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru