С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Как правильно отсортировать вектор указателей по 3 параметрам Есть вектор с указателями на объект книга. Есть такой компаратор bool comp( Book& a, Book& b) { if (a.GetYear() < b.GetYear()) return true; if (a.GetYear() > b.GetYear()) return false; if (a.GetMonth() < b.GetMonth()) return true; if (a.GetMonth() > b.GetMonth()) return false; return a.GetDay() < b.GetDay(); } Как я понял это sort(books.begin(), books.end(), comp); не... https://www.cyberforum.ru/ cpp-beginners/ thread2736032.html решение задачи с использованием данных типа структур C++
По результатам лыжных соревнований в трех группах сформировать сборную команду из 7 человек.
C++ Задан массив целых чисел X(n) Задан массив целых чисел X(n). Найти - произведение элементов массива, кратных трём; - сумму чисел, которые расположены между минимальным и максимальными элементами массива. https://www.cyberforum.ru/ cpp-beginners/ thread2736020.html C++ Вставить число в одномерный массив В одномерный массив вставить число k перед первым элементом, в котором есть цифра 7(k – вводится с клавиатуры). https://www.cyberforum.ru/ cpp-beginners/ thread2736018.html
Вызвано исключение C++
]Доброго времени суток, пишу программу, которая считывает введенные пользователем строки (ввод закакнчивается слово "stop"). Далее нужно сдеалть функцию, которая ищет слова определенной длины (длина вводится пользователем), формирует массив и возвращает в main. При компиляции выдает исключение в строке 19: Вызвано исключение по адресу 0x00007FF69A1F268A в ConsoleApplication22.exe: 0xC0000005:...
C++ Заменить на char Нужно сделать точно такое (узнать на палиндром) только через char #include <string> #include <iostream> #include <windows.h> using namespace std; int main() { system("cls"); SetConsoleCP(1251); SetConsoleOutputCP(1251); https://www.cyberforum.ru/ cpp-beginners/ thread2735990.html
C++ Работа со строками https://www.cyberforum.ru/ cpp-beginners/ thread2735975.html
/* Дано две строки, состоящие из слов. Нужно найти повторяющиеся слова. Моя идея: в строке три слова - три цикла; становлюсь на первое слово первой строки и сравниваю его со словами второй строки, меняя их в цикле; Тоже самое делаю со второй и третьей строками; Проблема в том, что во втором цикле сие действие не идет дальше первого слова. Есть еще вариант, использую цикл for: for (token =...
Совет по обучению C++
Всем привет! Учусь на первом курсе и хотелось бы попросить помощи . Хочу связать себя с киберзащитой и с++ , т.к учусь на факультете безопасности в киберпространствах . Так вот, где можно найти бесплатные курсы по КБ или по с++ ? Никак не могу найти ничего(
C++ В одномерном массиве состоящий из N целых элементов, вычислить номер максимального элемента массива https://www.cyberforum.ru/ cpp-beginners/ thread2735971.html
В одномерном массиве состоящий из N целых элементов, вычислить номер максимального элемента массива и вычислить произведение элементов массив, расположенных между первым и вторым нулевыми элементами.
C++ Реализовать операцию пересечения и симметрической разницы над множествами символьных данных https://www.cyberforum.ru/ cpp-beginners/ thread2735967.html
Здравствуйте! Помогите, пожалуйста, реализовать следующую задачу: "Ввести с клавиатуры два множества символьных данных. Реализовать операцию пересечения и симметрической разницы над этими множествами. Вывести на экран новообразовавшиеся множества. Реализовать программно нахождение мощности множества." Мощность это просто количество эллементов множества, насколько я понял. Буду безмерно...
Задача C++
Используя структуру для определения понятия студент (состоящую из полей ФИО, курс, группа, оценки в сессию) распечатать фамилии и имена отличников первого курса и долю их от, общего числа отличников. (Данные находятся в файле). Помогите, пожалуйста.
C++ Даны строка S. Определить все симметричные натуральные числа в промежутке от А до В (А и В вводятся с клавиатуры) Задача: Даны строка S. Определить все симметричные натуральные числа в промежутке от А до В (А и В вводятся с клавиатуры) По условию это должно быть реализовано в виде функции. Я, для начала, попробовал сделать не в функции, но всё равно не вышло. Если можно, объясните как это сделать или хотя бы дайте ссылку на источники, где это разъясняется. Буду благодарен. Вот мои недо-наработки, не... https://www.cyberforum.ru/ cpp-beginners/ thread2735936.html
Комп_Оратор)
Эксперт по математике/физике
9005 / 4704 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
24.11.2020, 14:41 0

Инициализация константного вектора списком инициализации - C++ - Ответ 15030586

24.11.2020, 14:41. Показов 2693. Ответов 13
Метки (Все метки)

Ответ

L0M, я не совсем понял как к проблеме относится код:
C++
1
2
3
4
5
6
7
8
9
static const char *methodMark2str(const MethodMark v)
{
    switch (v)
    {
        case MethodMark::kFirst: return "kFirst";
        case MethodMark::kSecond: return "kSecond";
        default: return "unknown value of MethodMark";
    }
}
?
Так или иначе - вектор нельзя использовать как constexpr и в С++20. Тогда, чем плох такой код?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//mvc2008 :D
#include <iostream> 
#include <vector> 
using namespace std; 
enum MethodMark {kFirst, kSecond} ; 
static const vector<MethodMark> &cvec()
{
    static vector<MethodMark> stat_cvec(2);
    stat_cvec[0]=MethodMark::kFirst,
    stat_cvec[1]=MethodMark::kSecond 
    ;
    return stat_cvec;
};
static const vector<MethodMark> &cv_ref=cvec() ;
int main()
{
    cout<<cv_ref[0]<<' '<<cv_ref[1]<<endl;
    cin.get();  
    return 0;
}


Добавлено через 2 часа 34 минуты
если вектор реально не маленький можно диспетчеризовать по типу
Диспетчеризация инициализаторов дело рук самих инициализатров
слово "инициализаторов" можно заменить на "финализаторов" без потери смысла)
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
#include <iostream> 
#include <vector> 
using namespace std; 
enum MethodMark {kFirst, kSecond} ; 
static const vector<MethodMark> &cvec()
{   
    static vector<MethodMark> stat_cvec(2);
    static int is_not_init=1;
    
    if(is_not_init){    
        stat_cvec[0] = MethodMark::kFirst, stat_cvec[1]=MethodMark::kSecond     ;
        is_not_init  = 0;
    }
    return stat_cvec;
 
};
 
static const vector<MethodMark> &cv_ref=cvec() ;
 
int main()
{
    cout<<cv_ref[0]<<' '<<cv_ref[1]<<endl;
    cin.get();  
    return 0;
}


Вернуться к обсуждению:
Инициализация константного вектора списком инициализации C++
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.11.2020, 14:41
Готовые ответы и решения:

Ошибка при инициализации вектора списком
В книге Страуструпа элементы вектора объявляются так vector&lt;int&gt; v = { 5 , 7 , 9 , 4 , 6 , 8 } ;В...

Инициализация константного члена класса с проверкой значения
Допустим есть класс константным членом class a{ const int i; public: a(int...

Инициализация константного статического объекта - члена класса
Здравствуйте, у меня возникла проблема с инициализацией статического объекта, который является...

Возможна ли инициализация в инициализации?
Изучая новый стандарт, заинтересовался: а можно ли как-то сделать массив указателей, например, на...

13
24.11.2020, 14:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.11.2020, 14:41
Помогаю со студенческими работами здесь

Инициализация (ООП, списки инициализации)
Доброго времени суток, хотелось бы узнать, как происходит процесс инициализации полей класса при...

Инициализация не агрегированных данных списка инициализации не допускается
Подскажите как исправить эту ошибку #include &quot;stdafx.h&quot; #include &quot;iostream&quot; using namespace...

Инициализация в теле конструктора или в списке инициализации.
Здрасте. class random1 { public: random(): a(5) {} private: int a; };

Инициализация константного массива из элементов кортежа
Как правильно создать константный массив из элементов кортежа? (я пробовал создать не константный)...

Конструктор со списком инициализации членов
1) Какой смысл применять синтаксис конструктора со списком инициализации членов class A{...

Инициализация полей объекта в заголовочном файле против списка инициализации
Говорят, что делать так не хорошо //.h class Foo { int intField = 5; public: ...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru