Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.65/26: Рейтинг темы: голосов - 26, средняя оценка - 4.65
0 / 0 / 0
Регистрация: 09.11.2020
Сообщений: 20

Почему функции это тип данного

15.01.2021, 00:03. Показов 6586. Ответов 71
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В задании такой вопрос:
Почему функции это тип данного?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.01.2021, 00:03
Ответы с готовыми решениями:

Почему у функции main() тип int? Почему не может быть какой-то другой, например, char?
Схема, касательно возвращаемого значения понятна. Не понятно почему именно целочисленное. Хелп)

Почему выделенная внутри функции память удаляется после возврата функции? Это можно исправить?
Вот пример функции, которая выделяет память под переменную, объявленную за её пределами: void Foo (wchar_t* test) { test =...

Как сортировать в рекурсивной функции? Это фунция, выводящая файлы из данного каталога и всех его подкаталогов
void listFilesRecursively(char *basePath, int size) { char path; struct dirent *dp; struct file files; struct...

71
Just Do It!
 Аватар для XLAT
4221 / 2687 / 656
Регистрация: 23.09.2014
Сообщений: 9,246
Записей в блоге: 3
15.01.2021, 21:45
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Recrut_rf Посмотреть сообщение
Они наверное трактуют стандарт по своему
в данном случае то был баг, который в ближайшей версии был исправлен.

я привёл пример, того,
что не стоит быть чрезмерно оптимистом, надеяться и ждать, что будет всё по стандарту
особенно если вам нужна именно РАБОТАЮЩАЯ программа.
0
 Аватар для Recrut_rf
392 / 337 / 66
Регистрация: 14.10.2014
Сообщений: 1,538
15.01.2021, 21:52
Цитата Сообщение от XLAT Посмотреть сообщение
не стоит быть чрезмерно оптимистом,
особенно если вам нужна именно РАБОТАЮЩАЯ программа
Поэтому, чтобы быть более-менее уверенным в работоспособности программного продукта - не стоит качать самые последние версии. Максимум - предпоследнюю. В ней наверняка большую часть багов уже пофиксили.
А любители всего самого нового всегда будут выступать в роли своеобразных бета-тестеров. Это в принципе, касается всего, а не только программ.

Ну и согласен с вами, что
Цитата Сообщение от XLAT Посмотреть сообщение
не стоит быть чрезмерно оптимистом
1
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13240 / 6872 / 1827
Регистрация: 18.10.2014
Сообщений: 17,419
16.01.2021, 02:06
Цитата Сообщение от Recrut_rf Посмотреть сообщение
Имеются два вида типов: базовые типы (fundamental types) и составные типы (compound types).
Типы описывают объекты (1.8), ссылки (8.3.2) или функции (8.3.5).
Подробности в соответствующих подразделах. Если нужно, могу опубликовать весь пункт 8.3.5
В стандарте С++ описано примерно пять совершенно независимых способов нарезки типов на классы/группы/категории. Зачем вы в этой теме вдруг упомянули именно нарезку на базовые и составные - не ясно. К рассматриваемому вопросу она никак не относится.

Добавлено через 3 минуты
Цитата Сообщение от Recrut_rf Посмотреть сообщение
Воспринял "в штыки" и отказался компилировать. А Dev C++ 5.11 с TDM-GCC 4.9.2 нормально скомпилировал.
Потому что этот код написан не на С++. А "Dev C++ 5.11 с TDM-GCC 4.9.2" к С++ имеет весьма отдаленное отношение, пока вы его специально не попросите. А попросите - и он тоже перестанет компилировать.
0
 Аватар для Recrut_rf
392 / 337 / 66
Регистрация: 14.10.2014
Сообщений: 1,538
16.01.2021, 08:47
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
пока вы его специально не попросите
Не совсем понял, о чём речь?
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13240 / 6872 / 1827
Регистрация: 18.10.2014
Сообщений: 17,419
16.01.2021, 09:11
Цитата Сообщение от Recrut_rf Посмотреть сообщение
Не совсем понял, о чём речь?
Речь идет о настройках компилятора, которые в конечном итоге должны заставить ваш TDM-GCC 4.9.2 работать в роли компилятора С++. Пока что вы его используете в режиме студенческого ля-ля-ля псеводязыка, который чем-то напоминает С++ синтаксисом, не более того.

Включите режим С++ в вашем TDM-GCC 4.9.2 и попробуйте скомпилировать ваш код еще раз.
1
 Аватар для Recrut_rf
392 / 337 / 66
Регистрация: 14.10.2014
Сообщений: 1,538
16.01.2021, 09:43
TheCalligrapher, понял. Да это не стандартная вещь, о который компилятор честно предупреждает. (Не стал включать опцию обработки варнингов как ошибок)
Подробности во вложении
Миниатюры
Почему функции это тип данного  
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
16.01.2021, 12:19
Цитата Сообщение от XLAT Посмотреть сообщение
функции это не типы.
термин тип существует исключительно для данных.
Можно согласиться. Разделение данных и методов/функций - это вопрос уровня выше конкретного языка. Тем не менее, в С++ типом обладают именно объекты. В вопросе тип не является данным типом по формулировке. Сказано о функции как о типе данных. Я его читаю так (имею право) :
Почему функция является типом = разновидностью данных?
Поскольку, как уже я сказал - функции отделены от данных концептуально, - вопрос провокационный и вызывающий на размышление. Он имеет право на жизнь, - на мой взгляд. Отделение функций от данных - достаточно условно.
1. Функции могут определять вложенные типы данных
2. Функции могут включать статические объекты
3. Функции, сами по себе, могут быть объектом анализа и идентифицировать объекты
Это по крайней мере 3 причины, которые я вижу, как ответ на вопрос темы. Поэтому XLAT, я согласен с вами. Вопрос поставлен в расчёте на живое восприятие и широкий взгляд.
Что касается приведенных пунктов, то если 1 и 2 более или мене понятны, я хочу сказать о п.3
3. Функции, сами по себе, могут быть объектом анализа и идентифицировать объекты
Работая над классом само упорядочивающихся коллекций объектов
https://www.cyberforum.ru/blog... g4772.html
я убедился в том, что предикаты класса является его данными. То есть, адрес и тип функции или функционального объекта, можно (и нужно порой) делать ключом в таблицах типа "ключ/значение". И в этом случае предикаты играют ключевую роль в идентификации объектов. Можно сказать что от наличия и качества предикат в наборе предикат для объекта данного класса, зависит то насколько объект интеллектуален = хорошо изучен и тщательно описан.
Согласен с вами, XLAT. Функции отделены от данных в некотором условном контексте. Однако, если требуется умении порассуждать о данной условности, нет вреда в том, что студент взглянет на вопрос шире. Речь не идёт о типах объектов. Вопрос о функциях как разновидности данных. Я могу утверждать, что функции могут выступать в этой роли. Вне зависимости от разделения data-members vs methods-members.
2
Just Do It!
 Аватар для XLAT
4221 / 2687 / 656
Регистрация: 23.09.2014
Сообщений: 9,246
Записей в блоге: 3
16.01.2021, 14:37
Цитата Сообщение от IGPIGP Посмотреть сообщение
Функции могут
ок.

функции функциональные,
чары символьные,
а данные данные.

есть типы,
а есть типы типов,
а также типы типов типов,
а также ....

тут можно даже очень преуспеть в накидывании навоза на вентилятор.

НО,
Вложение 1218117
возможно кто-то с этим не согласен, то я не доктор.

Далее:
Любые зания(информация) о функции это ДАННЫЕ.
Те служебные данные которые использует компилятор для строительства кода являются типами.
С точки зрения компилятора вся ваша текстовая портянка кода есть данные,
которые преобразуются в конечном итоге в машинный код.

Полностью правильная интерпретация вашей программы в правильно рабочий код
возможна только при ПОЛНОМ НАЛИЧИИ всей информации о используемых в программе типах,
которые обрабатываются, как данные.

Поэтому func_t это тип функции, представляющие данные компилятору о правилах интерпретации этих данных.

О void:
void это тип чего?
если тип данных, то как же так, тип данных, которых нет?
Да.
void это тип данных, которых нет точка
Вот так бывает, к этому нужно привыкнуть, что данные могут быть, а могут и не быть,
причем тип данных void вам четко заявляет, что в текущем случае их нет!

тут бы был уместен мой любимый анекдот о тру-программистах, но воздержусь.

IGPIGP,
спасибо, что мусолите эту тему,
но для меня тут всё ясно и понятно, вот такой я тупой
0
Just Do It!
 Аватар для XLAT
4221 / 2687 / 656
Регистрация: 23.09.2014
Сообщений: 9,246
Записей в блоге: 3
16.01.2021, 14:38
----
Миниатюры
Почему функции это тип данного  
1
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
16.01.2021, 17:08
Цитата Сообщение от XLAT Посмотреть сообщение
тут можно даже очень преуспеть в накидывании навоза на вентилятор.
XLAT, не вполне понял, что вы хотите сказать. В вентиляторе его и так больше чем следует и слово
Цитата Сообщение от XLAT Посмотреть сообщение
мусолите
тоже не ясно.
Цитата Сообщение от XLAT Посмотреть сообщение
функции функциональные,
чары символьные,
а данные данные.
есть типы,
а есть типы типов,
а также типы типов типов,
а также ....
Вопрос темы задан с применением термина "тип" вне контекста "тип объекта С++". Это потому что функции - элемент синтаксиса, но они не являются объектами. Везде где мы получаем объект доступа к функции, - мы, фактически, располагаем указателем. Тем не менее, метод - член в широком смысле, предоставляет описатель класса и по сути является видом данных. Если вопрос топика - приглашение, поговорить об этом, это вполне приемлемо. Поэтому я сказал о том, что поддерживаю ваш ответ:
Цитата Сообщение от XLAT Посмотреть сообщение
потому что они также, как и остальные данные, занимают место в памяти,
т.е. имеют адрес по которому находятся и на который можно сослаться.
Впрочем, если преподаватель имел ввиду, сравнение указателей на свободные функции и указателей а методы, то тогда тема совсем о другом. Но и вопрос, в этом случае задан ещё менее внятно.
Вопросы же типа (типа!), - "Что есть тип?", сводятся к ответу - "Я есть Тип!". Потому как: "Вначале был тип и тип был у типа, и тип был -тип". С тех времён понятие разжижилось и теперь типы программных объектов и типы программных (синтаксических, по сути) сущностей живут в рамках одних текстов, описывающих термин тип. Поэтому на вопрос:
Цитата Сообщение от XLAT Посмотреть сообщение
void это тип чего?
я отвечу: - Пишут, что тип.
Но если о функциях, то
Цитата Сообщение от AnastasiaYakub Посмотреть сообщение
Почему функции это тип данного
это вообще не о типе не только объектов, но и полей (в контексте языка С++). Тут поля и методы разделены концептуально, так же как и концепции данных и функций в обще языковом смысле (вне С++).
То есть, любые попытки вынести вердикт и поставить точку - сводятся к риску поскользнуться на том, что капает из вентилятора, как вы уже сказали.

Добавлено через 30 минут
Цитата Сообщение от IGPIGP Посмотреть сообщение
3. Функции, сами по себе, могут быть объектом анализа и идентифицировать объекты
идентифицировать типы, а не объекты. Запутался.
1
 Аватар для Recrut_rf
392 / 337 / 66
Регистрация: 14.10.2014
Сообщений: 1,538
16.01.2021, 17:23
Цитата Сообщение от XLAT Посмотреть сообщение
void это тип данных, которых нет точка
Согласен с вами, за одним исключением, потому как вспомнил про
такую конструкцию
C++
1
void* malloc( std::size_t size );
А эта конструкция даёт формальный повод относиться к типу
C++
1
void*
как к указателю на "сырой" кусок памяти. А уж что с ним дальше делать - зависит от пользователя.
1
Just Do It!
 Аватар для XLAT
4221 / 2687 / 656
Регистрация: 23.09.2014
Сообщений: 9,246
Записей в блоге: 3
16.01.2021, 19:06
Цитата Сообщение от IGPIGP Посмотреть сообщение
идентифицировать типы, а не объекты
недавно у одного автора узнал совершенно случайно,
чем параметры отличаются от аргументов: в каких случаях какой термин уместен.

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


...

сорри, пожалуй мне не надо тут больше ничего писать,
а то что-то меня тянет копнуть так глубоко, что может мне не хватить словарного запаса.

этот вопрос ТК как ниточка, потянув за которую, можно намотать на клубок всё вокруг и сверху и снизу.


PS:
ах да,
функция это тип, но это если вы находитесь именно вон на той горе.
как было уже истинно замечено здесь:
Цитата Сообщение от _stanislav Посмотреть сообщение
стандарты,
как и законы пишут определенное количество людей,
и другое количество людей всегда вправе оспорить их.
1
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
16.01.2021, 19:37
Цитата Сообщение от XLAT Посмотреть сообщение
недавно у одного автора узнал совершенно случайно,
чем параметры отличаются от аргументов: в каких случаях какой термин уместен.
Это бывает. Я их тоже путал. Параметр, это характеристика которая может изменяться. То есть, параметр, это собственность функции. Она его объявляет. А аргумент, это то что один тип/субъект/объект передаёт другому в обмен на его аргумент. И имея ввиду аргумент типа:
Цитата Сообщение от XLAT Посмотреть сообщение
сорри, пожалуй мне не надо тут больше ничего писать
возвращаю вам тип void, который нельзя не передать, ни выразить, ни принять в качестве аргумента. Хотя написать такое в объявлении void foo(void); можно легко. Что и пишут (порой, но частенько и по достаточно серьёзным вопросам, кстати) в сырых стандартах. )
1
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
16.01.2021, 23:32

Не по теме:

Цитата Сообщение от IGPIGP Посмотреть сообщение
Это бывает. Я их тоже путал.

В академических кругах “аргументы” иногда называются фактическими параметрами
(actual parameters), а “параметры” — формальными параметрами (formal parameters).


1
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
17.01.2021, 00:12
Цитата Сообщение от _stanislav Посмотреть сообщение
В академических кругах “аргументы” иногда называются фактическими параметрами
(actual parameters), а “параметры” — формальными параметрами (formal parameters).
Это в точку! То есть, ты понял, что хотел сказать XLAT. Это главное. Потому, что если перепутать, то мир никогда не уже не будет таким как прежде. И то, что он и без этого никогда не будет таким как прежде, не имеет ни какого значения.
0
 Аватар для eva2326
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
17.01.2021, 05:46
Цитата Сообщение от IGPIGP Посмотреть сообщение
в точку!
Всегда хотела у Вас спросить))
Как правильно: STABLE_RELEASE, или RELEASE_STABLE ?

"Каталог исходников" - это DIR_SOURCE, или DIR_SOURCES ?
2
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
17.01.2021, 10:07
Цитата Сообщение от eva2326 Посмотреть сообщение
Всегда хотела у Вас спросить))
Как правильно:
Это вопрос о самой сути. Вот один из возможных подходов:

В конце первого диалога - ряд вековых вопросов о том как правильно. В частности:
Цитата Сообщение от вечных сомнений
А как правильно сказать: «не надо» или «не нужно»?
1
El. Psy. Congroo.
 Аватар для Mightsoul
110 / 92 / 32
Регистрация: 09.01.2018
Сообщений: 344
18.01.2021, 09:37
Цитата Сообщение от AnastasiaYakub Посмотреть сообщение
Почему функции это тип данного?
Это не тип данных, это способ организации кода, в C++ тип данных функции определяет лишь то, как нужно с ней обращаться.
Цитата Сообщение от XLAT Посмотреть сообщение
дело в том что кодер не может получить прямой доступ к памяти в которой находится исполняемый код
может:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
 
int main () {
    const unsigned char *byte = (const unsigned char*)&main;
    char hex[3] = {0x00,0x00,0x00};
    for (unsigned int id = 0; byte[id] != 0xC3; ++id) {
        hex[0] = (byte[id] & 0xF0) >> 4;
        hex[1] = (byte[id] & 0x0F);
        hex[0] += '0';
        hex[1] += '0';
        if (hex[0] > '9') hex[0] += 'A'-'9'-1;
        if (hex[1] > '9') hex[1] += 'A'-'9'-1;
        if (id && id % 16 == 0) putc('\x0a',stdout);
        printf("%s\x20",hex);
        if (byte[id+1] == 0xC3) printf("C3");
    }
    return 0;
}
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Фон Нейман - это компьютерная архитектура, ни к терминологии, ни к концепциям языка С++ не имеющая никакого отношения. Вопрос задан по С++, где код и данные - два изолированных непересекающихся мира.
фон Нейман - это человек, называть человека - архитектурой, ну не знаю. Принцип однородности памяти говорит лишь о том, что данные и код хранятся в одной и той же оперативной памяти. Называть разные регионы памяти - изолированными друг от друга, как по мне, наивно, ибо их единственное отличие в атрибуте доступа. Я могу сделать так (в случае x32):
C++
1
2
unsigned char code[] = "\xB8\xFF\x00\x00\x00\xC3";
printf("%d",((int(*)())code)());
Или вообще вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <windows.h>
#include <stdio.h>
 
LPCVOID GetBasePageAddress (LPCVOID addr) {
    MEMORY_BASIC_INFORMATION info;
    LPCVOID base = 0;
    while (true) {
        VirtualQuery(base,&info,sizeof(MEMORY_BASIC_INFORMATION));
        if ((ULONG_PTR)addr >= (ULONG_PTR)info.BaseAddress && (ULONG_PTR)addr < (ULONG_PTR)info.BaseAddress+(ULONG_PTR)info.RegionSize) {
            break;
        } else base = (LPCVOID)((ULONG_PTR)info.BaseAddress+(ULONG_PTR)info.RegionSize);
    }
    return base;
}
 
int main () {
    BYTE code[] = "\xB8\xDD\xCC\xBB\xAA\xC3";
    DWORD old;
    LPCVOID page = GetBasePageAddress(code);
    MEMORY_BASIC_INFORMATION info;
    VirtualQuery(page,&info,sizeof(MEMORY_BASIC_INFORMATION));
    VirtualProtect(info.BaseAddress,info.RegionSize,PAGE_EXECUTE_READWRITE,&old);
    printf("%x",((int(*)())code)());
    VirtualProtect(info.BaseAddress,info.RegionSize,old,&old);
    return 0;
}
И ничего ты мне не сделаешь, я в другом городе живу, можно хоть в .rodata лезть и перезаписывать нуль-терминированные строки, хоть .text сделать PAGE_EXECUTE_READ_WRITE и творить смуту, не боясь #GP. Языка ассемблера, заметь, здесь нет. Только машинный код.

Всё это для справки, я не призываю никого делать такое в практических целях, только ради постижения запретных знаний.
Кстати, привет, как дела? Жизнь цветёт цветами цветов. Хотел ещё тогда ответить, что именно для такого существует volatile, запрещающий подобные оптимизации, но как-то вылетело из головы, сразу, короче, кину себе ворнинг, что в C++ всего этого нет, так, на всякий случай, конечно же, установлю защиту от UB, и вообще, короче, делаю межсегментный переход в окно.
1
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13240 / 6872 / 1827
Регистрация: 18.10.2014
Сообщений: 17,419
18.01.2021, 09:42
Цитата Сообщение от Mightsoul Посмотреть сообщение
Принцип однородности памяти говорит лишь о том, что данные и код хранятся в одной и той же оперативной памяти.
В языке С++ не никакого "принципа однородности памяти". Память данных и память кода - это в С++ две разных памяти, ибо язык должен поддерживать платформы, для которых это действительно так.

Цитата Сообщение от Mightsoul Посмотреть сообщение
ибо их единственное отличие в атрибуте доступа.
В языке С++ не никаких "атрибутов доступа". Это свойство каких-то частных местечковых ОС-платформ.

Никакого отношения к рассматриваемой теме все это не имеет даже отдаленно.
0
El. Psy. Congroo.
 Аватар для Mightsoul
110 / 92 / 32
Регистрация: 09.01.2018
Сообщений: 344
18.01.2021, 09:43
Я предупреждал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.01.2021, 09:43

Тип функции int или char, в чем разница и когда это важно?
Ребята привет, не понимаю разницу в типе функции. В данном примере функция digit имеет тип char. Если дать ей тип int, то ничего не...

Почему у функции main() тип возвращаемого значения - int?
Здравствуйте! В языке C# main &quot;свободный&quot;: void main (). Логично, поскольку программа - это набор операторов, которые в общем смысле ничего...

Почему в функции operator не ставят тип возвращаемого значения?
Добрый день! Учу С++ по книге Лафоре. Пример кода ниже. Стало интересно, почему в функции operator есть возвращение значения return. В...

Что это за фишка языка? s+=i[a]; почему это вообще работает? Где про это прочитать?
#include &lt;iostream&gt; using namespace std; int main() { int a={1,2,3,4,5}; int s=0; for(int i=0;i&lt;5;i++) ...

Почему тип входящего параметра функции может отличаться от типа возвращаемого значения?
Зачем здесь указываеться другой тип данных: double &amp;change_it(int i); Весь код: using namespace std; double...


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru