Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> массивы переменой длины в кач. аргументов функции, неясная ошибка при компиляции (Яз. Си) 
V
    Опции темы
math64
Дата 26.4.2009, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 8
Всего: 72



Цитата(Pieris @  25.4.2009,  00:39 Найти цитируемый пост)
это и должно так быть потому что С99 это точка расхождения Си и С++, компилятор С++ и не будет это компилить

Точка расхождения - создание C++. В C++ модификаторы const, extern, static имеют другое значение чем в C.
const в C++ = static const в С
Предварительное объявление переменной extern и затем static даёт в C++ extern, а в C static.
PM   Вверх
mes
Дата 26.4.2009, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(MAKCim @  26.4.2009,  20:41 Найти цитируемый пост)
не вижу преимуществ С++ перед С

я с Си плохо знаком, вот что напрашивается :
возможность перегрузки функций, типобезопасные шаблоны, средства разделения доступа (public, private в классе)
виртуальные функции и т.д.
 smile 


--------------------
PM MAIL WWW   Вверх
Dov
Дата 26.4.2009, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 15
Всего: 88



счас выльется воды на 20 страниц и на этом всё закончится.. проходили уже..  smile 


--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
MAKCim
Дата 26.4.2009, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



mes

преимущества где?


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
mes
Дата 26.4.2009, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(MAKCim @  26.4.2009,  21:19 Найти цитируемый пост)
mes, 

преимущества где? 

тут тогда надо уточнить, что подразумевается под преимуществами, если приведенное выше не подпадает в эту категорию. 
и помойму пока не поздно перенести этот этот оффтоп в холивар. smile



Это сообщение отредактировал(а) mes - 26.4.2009, 22:29


--------------------
PM MAIL WWW   Вверх
MAKCim
Дата 26.4.2009, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата(mes @  26.4.2009,  22:29 Найти цитируемый пост)
тут тогда надо уточнить, что подразумевается под преимуществами

что делает его более эффективным во всех смыслах


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
mes
Дата 26.4.2009, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(MAKCim @  26.4.2009,  21:33 Найти цитируемый пост)
что делает его более эффективным во всех смыслах 

эффективным с точки зрения работы результативного кода,
или эффективность работы программиста сюда тоже относится ?



--------------------
PM MAIL WWW   Вверх
MAKCim
Дата 26.4.2009, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



mes
Цитата(MAKCim @  26.4.2009,  22:33 Найти цитируемый пост)
во всех смыслах 




--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
mes
Дата 27.4.2009, 01:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(mes @  26.4.2009,  21:38 Найти цитируемый пост)
во всех смыслах 

учитывая то, что стандартный С++ позволяет практически все то, что и стандартный Си,
но помимо этого имеет кучу дополнительных средств, начиная от перегрузки функции и заканчивая набором стандартных шаблонов,
Вы считаете, что все эти дополнительные возможности не приносят никакой ощутимой эффективности ?





--------------------
PM MAIL WWW   Вверх
Anikmar
Дата 27.4.2009, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 9
Всего: 59



Цитата(Dov @  26.4.2009,  22:19 Найти цитируемый пост)
счас выльется воды на 20 страниц и на этом всё закончится.. проходили уже..    

Вот так рождаются баяны  smile .

Это вопрос уже к религиозным войнам относится, хотя странно обсуждать и сравнивать Си и С++. Я понимаю С++ и С# или C++ и Делфи. Лично я, когда появился С++ считал, что Си мне хватит за глаза и незачем изучать какие-то дурацкие веяния типа ООП, классов, перегрузки и т.п. Но мнение свое изменил достаточно быстро.

С точки зрения эффективности уже готового машинного кода - тут вся ответственность лежит на компиляторе. 
С точки зрения эффективности работы программиста - думаю спор просто глупый выйдет - естественно С++ по всем параметрам выиграет перед Си - так как С++ позволит сделать практически все то же, что и Си, а вот наоборот не получится. Так что думаю, что баян здесь развивать не стоит.


PM MAIL ICQ   Вверх
MAKCim
Дата 27.4.2009, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата(Anikmar @  27.4.2009,  09:17 Найти цитируемый пост)
С точки зрения эффективности работы программиста - думаю спор просто глупый выйдет - естественно С++ по всем параметрам выиграет перед Си - так как С++ позволит сделать практически все то же, что и Си, а вот наоборот не получится.

еще как получится  smile 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
mes
Дата 27.4.2009, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(MAKCim @  27.4.2009,  09:01 Найти цитируемый пост)

еще как получится  smile 

но с ручными затратами. Взять хотя бы тот самый динамический полиморфизм - на cpp практически ничего не надо делать для его воплощения, плюс легко добавлять новые полиморфные типы в иерархию.
А как с этим обстоит в Си ?



--------------------
PM MAIL WWW   Вверх
math64
Дата 27.4.2009, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 8
Всего: 72



Единственное что в C сделать проще - инициализацию массивов и структур.
Код

#include <stdio.h>
int a[10] =
{ [5 ... 7] 100 };
struct S {
int a;
int b;
} s = { b: 1000 };
int main(int argc, char**argv) {
int i;
for(i=0; i < 10; i++) printf("%d ", a[i]);
printf("\n%d,%d\n",s.a,s.b);
}

PM   Вверх
mes
Дата 27.4.2009, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(math64 @  27.4.2009,  11:01 Найти цитируемый пост)
{ [5 ... 7] 100 };

к тому же насколько я знаю такое многоточие это расширение компилятора gcc, а не стандартный  функционал.



--------------------
PM MAIL WWW   Вверх
MAKCim
Дата 27.4.2009, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата(mes @  27.4.2009,  11:43 Найти цитируемый пост)
А как с этим обстоит в Си ?

хорошо

Код

struct ops
{
    /* polymorphic functions */

    void (*f1)(void*, int, char);
    void (*f2)(void*, const char*);
    void (*f3)(void*, long);
};

struct base_object
{
    struct ops *ops;
};

struct derived_1_object
{
    struct base_object base_object;
};

struct derived_2_object
{
    struct base_object base_object;
};

struct derived_3_object
{
    struct derived_2_object derived_2_object;
};

void iterate(struct base_object *array, int nr)
{
    int i;

    for (i = 0; i < nr; ++i)
    {
        array->ops->f1(&array[i], i, '0' + (random() % 10));
    }
}



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Страницы: (5) Все 1 2 [3] 4 5 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1764 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.