Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Небольшой вопросник по плюсам / 13 сообщений из 13, страница 1 из 1
11.02.2014, 18:05
    #38557517
stut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Небольшой вопросник по плюсам
Мне надо ответы на такие вопросы:

1) malloc(sizeof(1))--у меня получается ничего. Как определить характер результата (ошибка, сбой конечно не подходит)


2) Если изменять даные в константной функции результат будет ошибкой компилятора? (const foo () { i++;}--например)


3) Думаю оператора "два шарпа(диеза)" нету в плюсах?


4) судя по материалам нета пре-инкремент быстрее пост-аналога? () или у липмана или маерса есть противоположный тезис


5) каждое поле типа чар в структуре плюсы считают как 1 байт при использование сайзоф


6) и самое непонятное что такое оверрайдинг функции с помощью метода класа (варианты надо статик или френд обозначить)


7) позицию итератора как находят?
...
Рейтинг: 0 / 0
11.02.2014, 18:30
    #38557559
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Небольшой вопросник по плюсам
1) malloc(sizeof(1))--у меня получается ничего. Как определить характер результата (ошибка, сбой конечно не подходит)

malloc при неудаче возвращает NULL.



2) Если изменять даные в константной функции результат будет ошибкой компилятора? (const foo () { i++;}--например)

Пример некорректет. Приведи корректный полный пример.


3) Думаю оператора "два шарпа(диеза)" нету в плюсах?

Нету.



4) судя по материалам нета пре-инкремент быстрее пост-аналога? () или у липмана или маерса есть противоположный тезис

Оба инкремента работают одинаково по скорости.


5) каждое поле типа чар в структуре плюсы считают как 1 байт при использование сайзоф

Да.


6) и самое непонятное что такое оверрайдинг функции с помощью метода класа (варианты надо статик или френд обозначить)

override -- возможность написать много функций с одним и тем же именем, но с разными наборами параметров.
При чём тут методы класса -- не понятно. Методы класса тоже поддерживают override. override свободной функции с помощью метода класса
сделать невозможно -- это совершенно разные функции. (хотя как поглядеть, в широком смысле слова можно считать, что это одна функция).


7) позицию итератора как находят?

std::distance
...
Рейтинг: 0 / 0
11.02.2014, 18:54
    #38557585
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Небольшой вопросник по плюсам
MasterZiv3) Думаю оператора "два шарпа(диеза)" нету в плюсах?

Нету.

Есть, поскольку препроцессор - часть С++, а ## - оператор препроцессора для конкатенации лексем.
...
Рейтинг: 0 / 0
11.02.2014, 19:13
    #38557613
stut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Небольшой вопросник по плюсам
1)маллок после компиляции возвращает "ничего" то есть этот НАЛЛ;
2)При присвоение (не изменение) переменной значение (декларированой перед функцией) в константной фугкции компилятор говорит что рид-онли, то есть ошибка;
3)Так что он там соединяет ибо есть такие две опции;
4)Не хочу приводить ссылки но на английском языке при поиске "вот из фастер пре...ор пост.." минимум пять сайтов с этим вопросом и пост- выходит медлительней ибо он копирует значение и т.д.
6) вопрос "хау овверайд оператор виз клас метод" и варианты статик, фриенд..
7)на одном из сайтов понял что определить позицию можно через индекс ибо другие опции там какие то очень теоретические казались типа через методы 1,2,3
...
Рейтинг: 0 / 0
11.02.2014, 19:14
    #38557616
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Небольшой вопросник по плюсам
Anatoly MoskovskyMasterZiv3) Думаю оператора "два шарпа(диеза)" нету в плюсах?

Нету.

Есть, поскольку препроцессор - часть С++, а ## - оператор препроцессора для конкатенации лексем.
елы-палы, забыл про него...
...
Рейтинг: 0 / 0
11.02.2014, 19:16
    #38557620
stut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Небольшой вопросник по плюсам
8)А копирование векторов разынх типов возможно при помощи конструктора когда один вектор идет как параметр?
9) статик тайп-кастинг возможно как от родительского до потомственного класса, так и наоборот?
...
Рейтинг: 0 / 0
11.02.2014, 19:17
    #38557621
stut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Небольшой вопросник по плюсам
Так что он там конкатенирует?
...
Рейтинг: 0 / 0
11.02.2014, 19:35
    #38557635
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Небольшой вопросник по плюсам
stut,

Вы перепутали форум со справочной :)

Погуглите по словам "оператор препроцессора для конкатенации лексем"
...
Рейтинг: 0 / 0
11.02.2014, 20:18
    #38557688
stut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Небольшой вопросник по плюсам
short s[8];
void* k = s;
k++ ---сколько байт выделяется под "++"? (два?)
...
Рейтинг: 0 / 0
11.02.2014, 20:36
    #38557720
Вася Уткин
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Небольшой вопросник по плюсам
stutshort s[8];
void* k = s;
k++ ---сколько байт выделяется под "++"? (два?)
Ну если два плюса, то очевидно что два байта.
...
Рейтинг: 0 / 0
11.02.2014, 20:57
    #38557749
stut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Небольшой вопросник по плюсам
Вы что шутите, увеличивает на единицу чего-то. В нете указано что пустой указатель имеет 4 байта, хотя там слово адванс используется смысл трудно понять--как бы передует значит, хотя понятно что занимает?
...
Рейтинг: 0 / 0
11.02.2014, 21:20
    #38557772
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Небольшой вопросник по плюсам
k++ в момент выполнения ничего, никуда НЕ выделяет.

А при наборе текста программы, под ++ на диске в файле будет выделено 2 байта. Вася Уткин все верно сказал. IMHO
...
Рейтинг: 0 / 0
11.02.2014, 22:05
    #38557823
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Небольшой вопросник по плюсам
stutВы что шутите, увеличивает на единицу чего-то. В нете указано что пустой указатель имеет 4 байта, хотя там слово адванс используется смысл трудно понять--как бы передует значит, хотя понятно что занимает?
В данном случае ++ ничего не увеличивает, т.к. неопределен для указателей void*.

Вы бы лучше четче формулировали вопросы, тогда и ответы бы получали соответствующие.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Небольшой вопросник по плюсам / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]