Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Заблокирован
1

Библиотечные структуры

24.01.2016, 18:16. Показов 1146. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!

Как правило в некоторых Библиотечных структурах не определенны конструкторы.

лезть в структуру не охота но временной обьект создавать хочу.

что делать.?

так не хочу ....

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
27
#include <iostream>
using namespace std;
 
struct A
{
    int x;
    A();
    ~A();
    A(int);
};
A::~A()  {}
A::A() : x(0) {}
A::A(int _x) : x(_x) {}
 
void func(const A a)
{
    a.x=10;
    
}
 
int main() 
{
    
    func(A());
 
    return 0;
}
динамику тоже не хочу
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.01.2016, 18:16
Ответы с готовыми решениями:

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

Библиотечные карточки читателей
В библиотеке для каждого заказывающего книгу читателя заполняются карточка:фамилия,дата заказа,дата...

Что такое библиотечные файлы?
Библиотечные файлы c++, это библиотеки iostream, math.h и т.д ?

Библиотечные функции обработки строк
Бегая по форумам выяснилось, что функции &quot;strlen&quot; &quot;strcat&quot; &quot;strncpy&quot; для C++Borland / Как их...

19
GbaLog-
24.01.2016, 18:36
  #2

Не по теме:

Цитата Сообщение от RAFA91 Посмотреть сообщение
лезть в структуру не охота но временной обьект создавать хочу.
что делать.?
так не хочу ....
Прям стихи. :D

0
Заблокирован
24.01.2016, 18:40  [ТС] 3
решения как я понял нету.

динамика и корректировка структуры не подходит.


надо что-то думать.
0
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,116
Записей в блоге: 2
24.01.2016, 19:01 4
Лучший ответ Сообщение было отмечено RAFA91 как решение

Решение

Цитата Сообщение от RAFA91 Посмотреть сообщение
Как правило в некоторых Библиотечных структурах не определенны конструкторы.
что имеется ввиду? Сишные структуры в WinAPI?
Цитата Сообщение от RAFA91 Посмотреть сообщение
лезть в структуру не охота но временной обьект создавать хочу.
C++
1
func({ param1, param2, param3 });
1
Nosey
24.01.2016, 22:01
  #5

Не по теме:

Мне иногда кажется, что RAFA это адский троль 100500 левела.

Структуры, библиотеки ..., всё бы ничего, но потом так бац:

Цитата Сообщение от RAFA91 Посмотреть сообщение
C++
1
void func(const A a) { a.x=10; }
Ппц, приехали, какая динамика, какие структуры...

0
Заблокирован
25.01.2016, 13:41  [ТС] 6
Цитата Сообщение от Kastaneda Посмотреть сообщение
что имеется ввиду? Сишные структуры в WinAPI?
да хотя бы и они. к примеру COORD
Цитата Сообщение от Kastaneda Посмотреть сообщение
func({ param1, param2, param3 });
не понял (((

без конструктора я не могу создать временной обьект
0
rikimaru2013
25.01.2016, 13:56
  #7

Не по теме:

Nosey, не палите его

Библиотечные структуры

0
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
25.01.2016, 14:13 8
Лучший ответ Сообщение было отмечено RAFA91 как решение

Решение

Цитата Сообщение от RAFA91 Посмотреть сообщение
без конструктора я не могу создать временной обьект
http://en.cppreference.com/w/c... ialization
1
Заблокирован
25.01.2016, 14:24  [ТС] 9
про список инициализации я в курсе.


я виду к тому что STL требуют конструкторов.
0
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,116
Записей в блоге: 2
25.01.2016, 14:32 10
Лучший ответ Сообщение было отмечено RAFA91 как решение

Решение

Цитата Сообщение от RAFA91 Посмотреть сообщение
про список инициализации я в курсе.
я виду к тому что STL требуют конструкторов.
так в курсе или не в курсе? И при чем тут STL?
1
Заблокирован
25.01.2016, 15:38  [ТС] 11
разве что конструктор по умолчанию. )))
Цитата Сообщение от Kastaneda Посмотреть сообщение
так в курсе или не в курсе?
сразу в голову не пришла эта мысль. за идею благодарю !

rikimaru2013
зачем выставили сюда свою фотографию ?

Добавлено через 5 минут
Цитата Сообщение от Kastaneda Посмотреть сообщение
так в курсе или не в курсе?
сразу в голову не пришла эта мысль. за идею благодарю !
Цитата Сообщение от Kastaneda Посмотреть сообщение
func({ param1, param2, param3 });
может так тогда ?
C++
1
func(A{ param1, param2, param3 })
0
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,116
Записей в блоге: 2
25.01.2016, 15:42 12
Цитата Сообщение от RAFA91 Посмотреть сообщение
может так тогда ?
если ты лучше знаешь, зачем тогда спрашиваешь?
1
Заблокирован
25.01.2016, 16:59  [ТС] 13
Цитата Сообщение от Kastaneda Посмотреть сообщение
если ты лучше знаешь,
не знаю поэтому и спрашиваю.
0
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,116
Записей в блоге: 2
25.01.2016, 17:04 14
Цитата Сообщение от RAFA91 Посмотреть сообщение
не знаю поэтому и спрашиваю.
Цитата Сообщение от RAFA91 Посмотреть сообщение
может так тогда ?
можно и так и так, но вариант без указания имени класса/структуры короче.

Добавлено через 53 секунды
если есть перегруженные ф-ции и компилятор не сможет выбрать какую дергать, тогда нужно указывать имя класса.
1
Заблокирован
25.01.2016, 17:09  [ТС] 15
Цитата Сообщение от Kastaneda Посмотреть сообщение
без указания имени класса

аааа ну да.. у меня ж в самой функции указан этот тип.

даже так работает (версия без параметров)

C++
1
func({});
0
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,116
Записей в блоге: 2
25.01.2016, 17:23 16
Цитата Сообщение от RAFA91 Посмотреть сообщение
даже так работает (версия без параметров)
да, вызывается дефолтный конструктор
1
Заблокирован
26.01.2016, 16:32  [ТС] 17
может конечно и ни к чиму эти конструкторы в библиотечных структурах.

операторов там тоже нету и это печально. нужно внешний делать.

Добавлено через 23 часа 5 минут
Столкнулся с таким приколом .

почему так не работает
C++
1
func(A());
а так
C++
1
func(a);
ок?
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
27
28
29
#include <iostream>
using namespace std;
 
struct A
{
    int x;
    A();
    ~A();
    A(int);
};
A::~A()  {}
A::A() : x(0) {}
A::A(int _x) : x(_x) {}
 
void func(A &a)
{
   a.x=10;
    
}
 
int main() 
{
    A a;
    
    func(a);
   // func(A());
 
    return 0;
}
http://ideone.com/rQSHen
0
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
26.01.2016, 16:38 18
RAFA91,
prog.cpp:26:13: error: invalid initialization of non-const reference of type 'A&' from an rvalue of type 'A'
func(A());
временным объектом нельзя инициализировать не константную ссылку.
1
Заблокирован
26.01.2016, 16:43  [ТС] 19
Цитата Сообщение от Nosey Посмотреть сообщение
временным объектом нельзя инициализировать не константную ссылку.

че ш вижуал так не выпендривается как этот онлайн компилятор ?
0
18844 / 9843 / 2408
Регистрация: 30.01.2014
Сообщений: 17,284
26.01.2016, 19:12 20
Цитата Сообщение от RAFA91 Посмотреть сообщение
че ш вижуал так не выпендривается как этот онлайн компилятор ?
Чтобы он тоже начал выпендриваться нужно отключить языковые расширения в настройках (Disable Language Extensions поставить в On). Также полезно будет повысить уровень предупреждений до /W4.
VС++ поддерживает этот нестандартный синтаксис, вероятно, из соображений обратной совместимости.
0
26.01.2016, 19:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.01.2016, 19:12
Помогаю со студенческими работами здесь

Как выглядят библиотечные файлы
Доброго времени суток. Недавно установил компилятор MinGW и вот пытаюсь запустить свой первый...

Вычисление выражения, не используя библиотечные функции.
БИЛЕТ №18 3. Составьте программу для вычисления выражения, не используя библиотечные функции....

Сортировка строк по алфавиту (библиотечные функции)
Здравствуйте! Согласно заданию, мне нужно создать программу, которая может отсортировать слова...

vs 2010 ругается на все библиотечные функци string.h
ВСем доброго времени суток, вот такая проблема вот ошибка ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru