Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
 Аватар для Валеркуй
2 / 2 / 3
Регистрация: 17.06.2013
Сообщений: 122

Как на основе того что лежит в переменной сделать переменную в объекте?

23.08.2014, 20:13. Показов 3221. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1. Ну есть у нас переменная
C++
1
2
string arg1 = "MyVar";
string arg2 = "propereties";
и потом можно было обратится через объект
C++
1
cout << object.MyVar; //отобразит propereties
2. Но может такое быть что эти значения лежат еще в одном контейнере, и тогда
C++
1
string container[] = "{name:valera, x:100, y:100}","{name: vova, x:110, y:70}";//это чисто приблизительно
и потом можно было бы получить значения с помощью
C++
1
 cout << object.container[0].name; //вернет valera
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.08.2014, 20:13
Ответы с готовыми решениями:

Можно ли как нибудь явно указать тип переменной, чтобы ИДЕ рассказала мне все что я хочу знать об объекте?
Можно как нибудь указать тип, но не через оператор new...

Верно ли, что в основе фабрики лежит наследование классов?
Сори за глупый вопрос, но правильно ли я понял, что в основе фабрики лежит наследование классов?

Как из переменной окружения сделать обычную переменную?
В общем, такая ситуация: нужно переменную окружения PATH сделать обычной переменной. Каким образом это можно сделать?

27
 Аватар для Валеркуй
2 / 2 / 3
Регистрация: 17.06.2013
Сообщений: 122
27.08.2014, 14:58  [ТС]
Студворк — интернет-сервис помощи студентам
Спасибо конечно) Я перед тем как вы написали сообщение открыл еще один метод! Но ваш лучше...
C++
1
2
3
4
        for(int i=0; i < map.size(); ++i){
            cout << map[i].get("x", "no-x") << endl;
            cout << map[i].get("y", "no-y") << endl;
        }
Добавлено через 20 часов 34 минуты
Цитата Сообщение от Валеркуй Посмотреть сообщение
Есть конкретные вопросы - задавайте, при условии что ответов на них нет в официальной документации.
Опять привет!!! Есть такой случай, все собирается компилится все отлично, но!
Когда я подключаю еще одну библиотеку для графики она выдает ошибку если поменять менять Mtd
А если ее не менять тогда выдает ошибку json. Что делать

Добавлено через 13 минут
Цитата Сообщение от 0x10 Посмотреть сообщение
http://jsoncpp.sourceforge.net/class...1_1_value.html
Что делать-то? Или можно как отдельную dll скомпилировать, а потом подключить как-то???
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
27.08.2014, 15:54
Цитата Сообщение от Валеркуй Посмотреть сообщение
Что делать-то?
Пройтись по всем солюшнам и проставить значение опции (см пост 17) одинаковым.
0
 Аватар для Валеркуй
2 / 2 / 3
Регистрация: 17.06.2013
Сообщений: 122
27.08.2014, 16:07  [ТС]
Цитата Сообщение от 0x10 Посмотреть сообщение
солюшнам
Вот сейчас вообще непонятно!!! Когда я подключаю jsoncpp то захожу в свойства проэкта и там делаю многопоточность без dll. А Если я ее включаю тогда другая либа не работает!!! потому что ей нужно с dll!
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
27.08.2014, 16:10
Цитата Сообщение от Валеркуй Посмотреть сообщение
Вот сейчас вообще непонятно!!! Когда я подключаю jsoncpp то захожу в свойства проэкта и там делаю многопоточность без dll. А Если я ее включаю тогда другая либа не работает!!! потому что ей нужно с dll!
Либо третью либо пересобрать со статическим рантаймом, либо пересборать jsoncpp и приложение с dll.
1
 Аватар для Валеркуй
2 / 2 / 3
Регистрация: 17.06.2013
Сообщений: 122
27.08.2014, 16:35  [ТС]
Я пересобрал jsonspp но там Mtd поменял на MDd собралось вроде и работает! Чтоб я без тебя делал
Возьми в падаваны

Добавлено через 7 минут
Теперь всместе тестил РАБОТААЕТ!!!
0
 Аватар для Валеркуй
2 / 2 / 3
Регистрация: 17.06.2013
Сообщений: 122
06.09.2014, 18:41  [ТС]
Цитата Сообщение от 0x10 Посмотреть сообщение
Есть конкретные вопросы - задавайте
Привет! Ну я опять к тебе!!! Есть такой класс:
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/*uploader_lvl*/
#include <iostream>
#include <json/json.h>
#include <string>
#include "parser.h"
using namespace std;
 
class Map{
public:
    struct Object_map{
        int x,
            y,
            _W,
            _H,
            rect_x,
            rect_y;
    };
 
    Object_map object_map[200];//количество игровых объектов
 
    void import_file(){
        TreeParser pars;
        string str = pars._get_file_to_string("c:/map1.json");
 
        Json::Value root;   // will contains the root value after parsing.
        Json::Reader reader;
        bool parsingSuccessful = reader.parse(str,root);
        if ( !parsingSuccessful )
        {
            // report to the user the failure and their locations in the document.
            std::cout  << "Failed to parse configuration\n"
                       << reader.getFormattedErrorMessages();
        }
            const Json::Value map_obj = root["map"];//считываем объекты
 
        for(int i=0; i < map_obj.size(); i++){
 
            object_map[i].rect_x = map_obj[i].get("rect_x", "0").asInt();
            object_map[i].rect_y = map_obj[i].get("rect_y", "0").asInt();
            object_map[i]._W = map_obj[i].get("_W", "0").asInt();
            object_map[i]._H = map_obj[i].get("_H", "0").asInt();
            object_map[i].x = map_obj[i].get("x", "0").asInt();
            object_map[i].y = map_obj[i].get("y", "0").asInt();
        }
    }
};
В маине:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include "uploader_lvl.h"
 
using namespace std;
 
int main(){
 
    Map map;
    map.import_file();
    cout << "Parsing complente!"<<endl;
    system("pause");
    return 0;
}
После того как все компилиться прогамма в дебаг режиме начинает много-много матюкаться:

Необработанное исключение в "0x770770f4" в "boost_parser.exe": 0xC0000005: Access violation.

и стрелочкой (зеленой) указывает на безобидную строку:
C++
1
    cout << "Parsing complente!"<<endl;
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
06.09.2014, 18:55
Выглядит как вылет за границы. Первое, что хочется проверить - соответствие размеров исходного массива и результирующего.
А так - ставить в отладчике точку останова в функции и смотреть по шагам.
0
 Аватар для Валеркуй
2 / 2 / 3
Регистрация: 17.06.2013
Сообщений: 122
06.09.2014, 19:08  [ТС]
Цитата Сообщение от 0x10 Посмотреть сообщение
соответствие размеров исходного массива и результирующего
В общем не совсем понял что за точка остановки, но я попытался сначала увеличить
C++
1
Object_map object_map[200];
на 300, выдало тоже самое, потом на 500, ничего потом на 1000! Заработало!!!
Эх сделать бы динамический массив структур...

Добавлено через 5 минут
Ахаха, открыл сам json фалик и посчитал сколько там объектов, вышло 544 =) Что-то я в редакторе game maker
перестарался)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.09.2014, 19:08

Цифра в текстовой переменной - как сделать цифровую переменную
Есть ли простое решение? Итак есть текстовая переменная, которая является простым числом (почему не знаю, передаётся через форму в...

Как сделать переменную с использованием в названии значения другой переменной?
Как осуществить так сказать использование значения переменной в названии другой переменной for (int i = 1; i &lt;= 3; i++) { ...

Найти вероятность того, что в первом ящике лежит 4 шара
6 шаров случайным образом раскладываются по 3 ящикам. Найти вероятность того, что в первом ящике лежит 4 шара.

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

Как присвоить переменной по нажатию кнопки значение того что введется в текстбокс?
в общем есть 2 кнопки и 2 текст бокса, нужно чтобы при нажатии на первую введенный текст становился значением переменной, а при нажатии на...


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

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии Введение Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np class PlantAgent: def __init__(self, name, strategy, initial_biomass): self. name = name self. strategy = strategy # "greedy" (широколиственные) или. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru