Страница 2 из 2

Добавлено: 09 ноя 2005, 18:50
vg
Я не навызываю. Делай, как знаешь. Ты говоришь, что что хочешь инициализировать члены 0, но это не надо в твоём примере (у тебя дальше всё присваивается в цикле). Пытаешься инициализировать переменные, но при этом одну инициализируешь как vol(0), a другую next , как next = NULL, но уже в теле конструктора. Почему.... почему не обе в теле конструктора?
.... складывается впечатление, что ты хочешь написать класс. Но ведь сам говоришь - это всего лишь пример....

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

Добавлено: 09 ноя 2005, 20:07
ajkj3em
vg писал(а):Зачем .... достаточно void main ( void )
это против стандарта. то что это принимается некоторыми компиляторами
за valid syntax еще не повод так писать везде :)

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

Добавлено: 09 ноя 2005, 20:22
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 тоже.

Добавлено: 09 ноя 2005, 21:30
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 класс со всеми открытыми челенами носит гордое название структура. Та же беда с интерфейсом.

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

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

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

Добавлено: 09 ноя 2005, 21:40
vg
aissp писал(а): Мне удалось свою точку зрения развить?=)
Если нет сорри - всместо того чтобы пить пиво я какой то бред стругаю
Да, несомненно удалось. Пожалуйста, не отвлекайся от любимого занятия.

Добавлено: 10 ноя 2005, 04:35
vg
2aissp,
Ешё хотел добавить... Вовсе не хотел критиковать Вас. Наоборот, спасибо :!: , что отклткнулись и поучавствовали в обсуждении. Сорри, если что не так сказал.

Да не за что

Добавлено: 10 ноя 2005, 09:27
aissp
Извиняться то. ЗАвсегда пожалста=)

Re: Да не за что

Добавлено: 10 ноя 2005, 11:29
vg
aissp писал(а):Извиняться то. ЗАвсегда пожалста=)
Не понял .... пиво нести, чтоли :lol:

опять не так

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

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

Что касаемо пива, пожалуй сегодня пива не нада - дождит.

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

Добавлено: 10 ноя 2005, 13:42
Earl Grey
aissp писал(а): Что касаемо пива, пожалуй сегодня пива не нада - дождит.
А что стОит пить когда дождит?

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

Добавлено: 10 ноя 2005, 13:57
Gatchinskiy
Уникурсал Уникурсалыч писал(а):
aissp писал(а): Что касаемо пива, пожалуй сегодня пива не нада - дождит.
А что стОит пить когда дождит?
... водку и холодцом закусывать ... что и делаем ... :lol:

Ну

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

Такие дела.

Добавлено: 10 ноя 2005, 14:15
Gatchinskiy
я патриот, водку не променяю на красочные этикетки и фантики ... :lol:

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