Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
2 / 2 / 0
Регистрация: 27.03.2015
Сообщений: 16
1

Существует ли в C++ такая возможность()

06.04.2015, 08:56. Просмотров 572. Ответов 17
Метки нет (Все метки)


Можно ли в с++ сделать так:

любой написанный отрывок кода вырезать, вставить в отдельный файл( например .h)
обозначить названием.

а затем в основной код просто вставить это название как ярлык своего рода.

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

есть ли в c++ такие очень простые способы упорядочивания работы?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2015, 08:56
Ответы с готовыми решениями:

Есть ли такая возможность?
Здравствуйте. Есть ли возможность отображения всех файлов, находящихся в папках? Т.е., условно...

Есть ли такая возможность в АСП?
Здравствуйте. Использую Visual Studio 2010. Создал веб-проект с главной страницей для...

Есть ли в Виндовс такая возможность
Здравствуйте.В универе стали изучать Линукс,а именно оболочку shell и язык...

Есть ли такая возможность в C++ Builder
Есть ли такая возможность в C++ Builder, чтобы подключить какой то плагин, и при печатании текста...

17
Don't worry, be happy
16968 / 9849 / 1897
Регистрация: 27.09.2012
Сообщений: 24,420
Записей в блоге: 1
06.04.2015, 09:14 2
любой написанный отрывок кода вырезать, вставить в отдельный файл( например .h)
обозначить названием.

а затем в основной код просто вставить это название как ярлык своего рода.
C++
1
#include "file.h"
0
Эксперт C
25428 / 15822 / 3385
Регистрация: 24.12.2010
Сообщений: 34,599
06.04.2015, 09:24 3
cUbit, для начало надо понять, что директива #include просто вставляет в указанное место указанный файл и ничего больше
0
Don't worry, be happy
16968 / 9849 / 1897
Регистрация: 27.09.2012
Сообщений: 24,420
Записей в блоге: 1
06.04.2015, 09:32 4
Байт, лично я вообще не понял что хочет ТС :-(
2
Эксперт C
25428 / 15822 / 3385
Регистрация: 24.12.2010
Сообщений: 34,599
06.04.2015, 09:57 5
Цитата Сообщение от Croessmah Посмотреть сообщение
Байт, лично я вообще не понял что хочет ТС :-(
Я тоже. Но на всякий случай пояснил действия директивы. А то некоторые возлагают на нее какие-то призрачные надежды...
1
Don't worry, be happy
16968 / 9849 / 1897
Регистрация: 27.09.2012
Сообщений: 24,420
Записей в блоге: 1
06.04.2015, 10:00 6
Байт, как электромонтер на фосфор?
0
Комп_Оратор)
Эксперт по математике/физике
8633 / 4346 / 590
Регистрация: 04.12.2011
Сообщений: 13,007
Записей в блоге: 16
06.04.2015, 10:12 7
Цитата Сообщение от cUbit Посмотреть сообщение
любой написанный отрывок кода вырезать, вставить в отдельный файл
Любой отрывок нельзя. Нельзя вырезать код так чтобы в него не вошли объявления имён которые ему необходимы.
Цитата Сообщение от Croessmah Посмотреть сообщение
Байт, лично я вообще не понял что хочет ТС
Я тоже.
В С++ очень развитая система структуризации кода. К числу мощнейших инструментов разделения относятся: пространства имён и директивы препроцессора. Возможны включения по условию. Обычно, возможны разделения на h cpp. Конкретизируйте, что именно нужно разделить.
0
Эксперт C
25428 / 15822 / 3385
Регистрация: 24.12.2010
Сообщений: 34,599
06.04.2015, 11:16 8
Цитата Сообщение от IGPIGP Посмотреть сообщение
Любой отрывок нельзя. Нельзя вырезать код так чтобы в него не вошли объявления имён которые ему необходимы.
Имхо, можно. Возьмите любой код и порежьте его на файлы. Только линии разреза не должны проходить через идентификаторы и ключевые слова. И вместо кусков пода напишите #include. И все прекрасно будет транслироваться работать.
Конечно, особого смысла в этом нет. Но возможность - есть.
1
Jesus loves me
Эксперт С++
5162 / 3131 / 353
Регистрация: 12.12.2009
Сообщений: 7,919
Записей в блоге: 2
06.04.2015, 11:20 9
В одном большом проекте видел, как приватные поля класса через include подключаются. Расчет на то, что классов много, а поля у них одинаковые. Извращение конечно еще то.
1
Эксперт C
25428 / 15822 / 3385
Регистрация: 24.12.2010
Сообщений: 34,599
06.04.2015, 11:25 10
Вот только с комментариями не знаю... Можно ли резать по комментариям. Те, как работает препроцессор. Сначала выкидывает комментарии и потом вставляет, или наоборот, сначала вставляет, а потом выкидывает...
Да. Еще нельзя резать по строкам с #define и прочими препроцессорными штуками, т.к. у них строчный формат. Как и у //-комментариев. А так, - режь как хошь!

Добавлено через 2 минуты
Цитата Сообщение от Kastaneda Посмотреть сообщение
Расчет на то, что классов много, а поля у них одинаковые.
Скорее всего, не очень грамотно сконструирован проект...
0
Комп_Оратор)
Эксперт по математике/физике
8633 / 4346 / 590
Регистрация: 04.12.2011
Сообщений: 13,007
Записей в блоге: 16
06.04.2015, 11:49 11
Цитата Сообщение от Байт Посмотреть сообщение
. Возьмите любой код и порежьте его на файлы.
Эт я сочинил.
0
2 / 2 / 0
Регистрация: 27.03.2015
Сообщений: 16
06.04.2015, 12:54  [ТС] 12
Перефразирую для тех кто не понял.
Можно ли какую-то длинную часть кода "свернуть" так чтобы не мешалась, и обозначит её именем. Как например вырезать её обозначив меткой и вставить в другой файл. Чтобы потом если мне нужно скопировать эту часть кода в новое место общего кода мне не нужно было копировать и вставлять снова 100 строк, а просто вставить имя метки с этими 100 строками.
0
Jesus loves me
Эксперт С++
5162 / 3131 / 353
Регистрация: 12.12.2009
Сообщений: 7,919
Записей в блоге: 2
06.04.2015, 12:56 13
Может проще макрос сделать? А еще лучше в функцию обернуть?
1
Don't worry, be happy
16968 / 9849 / 1897
Регистрация: 27.09.2012
Сообщений: 24,420
Записей в блоге: 1
06.04.2015, 12:59 14
cUbit, можете наваять на препроцессоре макрос.

C++
1
2
3
4
#define my_macros \
бла-бла-бла \
 ...\
бла-бла-бла
Но может стоит подумать об использовании функции, возможно, это более подходящее решение?
0
2 / 2 / 0
Регистрация: 27.03.2015
Сообщений: 16
06.04.2015, 13:03  [ТС] 15
Насчёт функции как-то не получается, так как 100 строк кода несут в себе десятки значений в дальнейший поток. Причём иногда одни значения нужно возвращать, а иногда когда условия меняются, некоторые значения вообще возвращать не нужно.

Добавлено через 36 секунд
а как сделать такой макрос?
0
Модератор
Эксперт по электронике
8356 / 6202 / 834
Регистрация: 14.02.2011
Сообщений: 21,551
06.04.2015, 13:08 16
Цитата Сообщение от cUbit Посмотреть сообщение
Насчёт функции как-то не получается, так как 100 строк кода несут в себе десятки значений в дальнейший поток. Причём иногда одни значения нужно возвращать, а иногда когда условия меняются, некоторые значения вообще возвращать не нужно.
значит это разные функции
Цитата Сообщение от cUbit Посмотреть сообщение
а как сделать такой макрос?
макросы, в неумелых руках,зло
можешь получить ошибки компиляции совершенно не там где они встречаются
для этих целей в плюсах введены inline функции

Добавлено через 46 секунд
Цитата Сообщение от cUbit Посмотреть сообщение
Причём иногда одни значения нужно возвращать, а иногда когда условия меняются, некоторые значения вообще возвращать не нужно.
чувствую здесь структура нужна
0
2 / 2 / 0
Регистрация: 27.03.2015
Сообщений: 16
06.04.2015, 13:09  [ТС] 17
Благодарю за ответы!
0
Модератор
Эксперт по электронике
8356 / 6202 / 834
Регистрация: 14.02.2011
Сообщений: 21,551
06.04.2015, 13:12 18
Цитата Сообщение от cUbit Посмотреть сообщение
любой написанный отрывок кода вырезать, вставить в отдельный файл( например .h)
обозначить названием.
в порядке бреда
myFile.txt
C++
1
x=y+z;
main.c

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int main()
{
int x,y,z;
y=10;
z=15;
#include "myFile.txt"
y=5;
z=10;
#include "myFile.txt"
y=12;
z=6;
#include "myFile.txt"
}
весь вопрос, зачем
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.04.2015, 13:12

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

а разве наследование такая уж важная возможность?
а разве наследование такая уж важная возможность?

Существует ли такая cms?
Здравствуйте! Подскажите, бывают ли cms, с помощью которых можно сделать сайт, где посетитель может...

Существует ли такая структура?
Существует ли такая структура в Паскале?? if not((2*i mod 3 = 1) or (i div 3<1)) then p:=sqrt(9)...

Существует ли такая функция?
Задача на турнир Пусть задана функция ��: R → R и некоторое множество �� ⊆...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.