Вопросы кандовому делелоперу С/C++, чтоб ....

Все, что вы хотели знать о программизме, но боялись спросить.
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

Я не навызываю. Делай, как знаешь. Ты говоришь, что что хочешь инициализировать члены 0, но это не надо в твоём примере (у тебя дальше всё присваивается в цикле). Пытаешься инициализировать переменные, но при этом одну инициализируешь как vol(0), a другую next , как next = NULL, но уже в теле конструктора. Почему.... почему не обе в теле конструктора?
.... складывается впечатление, что ты хочешь написать класс. Но ведь сам говоришь - это всего лишь пример....
Аватара пользователя
ajkj3em
Маньяк
Сообщения: 2063
Зарегистрирован: 12 ноя 2006, 06:53

Re: Канещна не работает=)

Сообщение ajkj3em »

vg писал(а):Зачем .... достаточно void main ( void )
это против стандарта. то что это принимается некоторыми компиляторами
за valid syntax еще не повод так писать везде :)
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Re: Канещна не работает=)

Сообщение vg »

ajkj2em писал(а):
vg писал(а):Зачем .... достаточно void main ( void )
это против стандарта. то что это принимается некоторыми компиляторами
за valid syntax еще не повод так писать везде :)
Спасибо за замечание. Логично. Посмотрю.

Редактирую, чтобы не флудить ...
Стандарт C++ (standard ISO/IEC 14882) допускает, как int main() так и int main(int argc, char* argv[]). Таким образом только обязывают возвращать код возврата явно return-ом.

3.6.1 Main function [basic.start.main]

1 A program shall contain a global function called main, which is the
designated start of the program.

<skip>

2 This function is not predefined by the implementation, it cannot be
overloaded, and its type is implementation-defined. All implementa­
tions shall allow both of the following definitions of main:
int main() { /* ... */ }
and
int main(int argc, char* argv[]) { /* ... */ }
...


Компиллеро-зависимо у MS, где допускается:

Microsoft Specific

The types for argc and argv are defined by the language. The names argc, argv, and envp are traditional, but are not required by the compiler. See Argument Definitions for more information and for an example.

Alternatively, the main and wmain functions can be declared as returning void (no return value). If you declare main or wmain as returning void, you cannot return an exit code to the parent process or operating system using a return statement; to return an exit code when main or wmain is declared as void, you must use the exit function.


Тоже у Борланда во всех их компиллерах, начиная с версии C++ 3.1 (кажется и Turbo C++ 1.1) если правильно помню, конечно, Borland Specific тоже.
Аватара пользователя
aissp
Маньяк
Сообщения: 2710
Зарегистрирован: 07 ноя 2005, 09:51

Сообщение aissp »

Ну по кр мере сытый\)

О чем ето мы там болтали, а вспомнил

твою сентенцию (имется ввиду заявление) про обилие скобок не понял, по мне их ровно стока скока нада.

по поводу void main(void) стандарт гласит

int main() { /* ... */ }
int main(int argc, char* argv[])
ето присутсвует и в С и в С++ стандарте.
В С++ тока прсиутсвуеть
main() { /* ... */ }
В С++ мона не делать return по умолчанию вернется 0 Что означаеть усе карашо.
-------------------- эту тему закрыли-----------

Что касается остального еще раз повторюсь я написал
tagNode nodes[5]; - массив, я хочу убедиться что указатели внутри структуры (tagNode* next) будут обнулены, для меня ето важно я использую 0 как остановку любой навигации по этому массиву, и хочу быть сразу убежден что у меня все указатели равны 0. Я не помню что говорит стандар о значении указателей по умолчанию - я вынужден инициализировать их. Обзая практика - инициализация обхектов в списке иициалиазации, указателей в теле. Я просто следую за набитой рукой. Почему общая практика - для обзейктов такая контструкция быстрее. Дл яуказателей - нет шансов да и смысла использовать такую конструкцию в списке инициализации.

НЕ ВСЕ присваиваеться в цикле=)

tagNode nodes[5];
int i;
for (i = 0, nodes[4].vol = 5; i < 4; ++i) {
nodes.vol = i+1;
nodes.next = nodes + i + 1;
}

Где тут присваивается 0 для последней ноды? Ну давай добавим явно строчку, типа
nodes[4].next = 0

но ты добавляй иди а я ето уже неформально сделал

Если брат у тя складывается такое впечатление то стоит крестится.

Привожу свои действия по шагам. Увидел твой код с рекурсией, рещил что он плох совсем, потому как так делть нееффективно да и медленно.

Быстро черкнул свой код - тока чтоп дать идею, не проверяя его - каюсь ошибся

паосле поступления запроса о том что код не работает - отладил его

для лучшей иллюстрауии работы снабдил убедительными функцуиями, упростил майн до предела и оставив вывод

Все ето делал юорясь с собой на кажном шагу

ваыдал на екран.

О каких семантиче ских тонкостях использования классов ты мне говоришь. Если у меня все челены класса открытые я буду писать класс если мне будут за ето платить, сам не буду никогда потому что ето бред. Еще раз чтобы clarify picture класс со всеми открытыми челенами носит гордое название структура. Та же беда с интерфейсом.

Применение макросов в программе без постановки Технического Задания - определения что должен делать данный модуль - является также странным требованием - а почему макросы а че не константы? А че не стати переменные? Нет постановки задачи? Мы чего то домыслили за бога? Ну я не буду - мне лениво.

Мне удалось свою точку зрения развить?=)

Если нет сорри - всместо того чтобы пить пиво я какой то бред стругаю
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

aissp писал(а): Мне удалось свою точку зрения развить?=)
Если нет сорри - всместо того чтобы пить пиво я какой то бред стругаю
Да, несомненно удалось. Пожалуйста, не отвлекайся от любимого занятия.
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

2aissp,
Ешё хотел добавить... Вовсе не хотел критиковать Вас. Наоборот, спасибо :!: , что отклткнулись и поучавствовали в обсуждении. Сорри, если что не так сказал.
Аватара пользователя
aissp
Маньяк
Сообщения: 2710
Зарегистрирован: 07 ноя 2005, 09:51

Да не за что

Сообщение aissp »

Извиняться то. ЗАвсегда пожалста=)
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Re: Да не за что

Сообщение vg »

aissp писал(а):Извиняться то. ЗАвсегда пожалста=)
Не понял .... пиво нести, чтоли :lol:
Аватара пользователя
aissp
Маньяк
Сообщения: 2710
Зарегистрирован: 07 ноя 2005, 09:51

опять не так

Сообщение aissp »

--Если из его последнего романа убрать все ети розы, голые плечи и вздыханья под луной, то в центре останется один лирический герой, который за пьянку бл-ки и прогулы был выгнан из университета (с) Веня Ероффев.--
Так вот ежели выкинуть из твоей реплики выкинуть все ето то останется:
1. Извини
2. Спасибо

Соответсвенно я ответил на оба имеющих смысл предложения:
1. Не за что извиняться.
2. Завсегда пожалста.

Что касаемо пива, пожалуй сегодня пива не нада - дождит.
Аватара пользователя
Earl Grey
Маньяк
Сообщения: 2893
Зарегистрирован: 22 фев 2005, 15:07

Re: опять не так

Сообщение Earl Grey »

aissp писал(а): Что касаемо пива, пожалуй сегодня пива не нада - дождит.
А что стОит пить когда дождит?
Аватара пользователя
Gatchinskiy
Комбинатор
Сообщения: 20952
Зарегистрирован: 05 окт 2003, 20:44
Откуда: St. Petersburg(Gatchina) > Vancouver

Re: опять не так

Сообщение Gatchinskiy »

Уникурсал Уникурсалыч писал(а):
aissp писал(а): Что касаемо пива, пожалуй сегодня пива не нада - дождит.
А что стОит пить когда дождит?
... водку и холодцом закусывать ... что и делаем ... :lol:
Аватара пользователя
aissp
Маньяк
Сообщения: 2710
Зарегистрирован: 07 ноя 2005, 09:51

Ну

Сообщение aissp »

У меня теория что под дождь хорощо идет дешевый скотч закусываю ммденсом с арахисом. Комбинацию ету подбирал давольно долго, есс-но начинал с пива под грибками, потом через сангрию и вермут перешел в более высокую лигу, пытался пить вино, срывался на конъяк, и даже был адептом портвейна. Но пришла старость и с ней мудрость, скотч и конфетки - пока есть зубы.

Такие дела.
Аватара пользователя
Gatchinskiy
Комбинатор
Сообщения: 20952
Зарегистрирован: 05 окт 2003, 20:44
Откуда: St. Petersburg(Gatchina) > Vancouver

Сообщение Gatchinskiy »

я патриот, водку не променяю на красочные этикетки и фантики ... :lol:
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

Gatchinskiy писал(а):я патриот, водку не променяю на красочные этикетки и фантики ... :lol:
А какую водку предпочитаетесЪ. Я посмотрел. Здесь, в Канаде, просто завались всего. Ну не пробовать же всё
:lol:
Ответить