Форум программистов, компьютерный форум CyberForum.ru

ifdef и Ко, указатели в фунциях - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Пара вопросов по С++ http://www.cyberforum.ru/cpp-beginners/thread153956.html
возникло несколько вопросов, с которыми что то не могу никак разобраться 1. Как происходит выравнивание при создании структуры? struct { double a; int b; char c;}; struct { char a; int b; double c; }; ведь должны возвращать разный размер? В первом всё достраивается до double, а во втором сначала до int, потом до double? Но тем не менее, проверив в двух компиляторах(в VS2005 и bcc5.5) я...
C++ Обработка log-файла Добрый вечер! Ребята, столкнулся с проблемой, и никак не могу найти ей элегантное решение. В голове крутится всякое, но четко понять не могу. Кроме того, хочется определенной красоты решения. Суть проблемы: Пишу обработчик log-файла Apache. Строка этого файла имеет такой вид: 127.0.0.1 - - "GET / HTTP/1.1" 200 1833 127.0.0.1 - - "GET /style.css HTTP/1.1" 200 517 Мне необходимы данные... http://www.cyberforum.ru/cpp-beginners/thread153931.html
C++ Подстрока
Всем Приветы, вопрос на сейчас такой: Как получить подстроку из данной строки, если данная задаётся пользователем? Вот пример: #include <iostream> using namepace std; int main(){ char command; cin >> command;
C++ Замена повторов в массиве
Имеется рандомный одномерный массив. Необходимо подсчитать количество повторяемых чисел, стоящих радом и заменить их. Например: дано: 5 -6 8 8 8 12 -62 0 0 0 0 0 0 0 6 12 8 -9 0 1 заменить на: 5 -6 N 3 8 12 -62 N 7 0 6 12 8 -9 0 1 8 8 8 -> N 3 8 (N-индикатор, 3-число повторов цифры 8) 0 0 0 0 0 0 0 -> N 7 0 (N-индикатор, 7-число повторов цифры 0)
C++ Классы / наследование / полиморфизм http://www.cyberforum.ru/cpp-beginners/thread153908.html
Решите, если несложно, программа вроде довольно простая..., но с с++, я пока неочень... Добавлено через 36 минут вот что я написал..., а с инициализацией и полиморфизмом непонятно :wall: class A { } class B: A {
C++ Прошу проконсультировать Добрый вечер!) меня поситила волнующая идея, так как учусь на програмера и что важно хочу этого сам. в общем хочу начать разработку приложений до начала обучения. Мне стало известно что мы будем писать курсовую в виде симулятора файловой системы, прошу вас помочь мне в этом, так скачазть проконсультировать. Ах, да. Если тема не к месту, приношу извинения... Раз тема на форуме, то, я... подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
16.07.2010, 14:44     ifdef и Ко, указатели в фунциях
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
 
int add(int a, int b)
{
    return a+b;
}
 
int operation(int a, int b, int (*ptr)(int, int))
{
    return ptr(a, b);
}
 
int main(void)
{
    int (*pfunc)(int, int) = &add;           //Указатель на функцию add
    std::cout << operation(4, 6, pfunc) << std::endl;//передается функции operation
    system("pause");
    exit(EXIT_SUCCESS);
}
Добавлено через 9 минут
Можно упростить предыдущий пример, используя ключевое слово typedef:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
 
typedef int (*funcPtr)(int, int);//Определяем псевдоним для указателя на функцию
 
int add(int a, int b)
{
    return a+b;
}
 
int operation(int a, int b, funcPtr ptr)
{
    return ptr(a, b);
}
 
int main(void)
{
    funcPtr pfunc = &add;                       //Указатель на функцию add
    std::cout << operation(4, 6, pfunc) << std::endl;   //передается функции operation
    system("pause");
    exit(EXIT_SUCCESS);
}
 
Текущее время: 02:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru