locked
Первое приложение RRS feed

  • Общие обсуждения

  • Здравствуйте.

    Читаю книгу Разработка приложений для Windows 8  на С# но пытаюсь повторить написанное там в C++. Никак не могу понять откуда мне лучше взять классы коллекций.

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

     

    19 ноября 2013 г. 12:23

Все ответы

  • Может лучше почитать введение сразу на с++?

    http://msdn.microsoft.com/en-us/library/windows/apps/hh974580.aspx

    http://msdn.microsoft.com/en-us/library/windows/apps/br229580.aspx

    На Мсдн очень много статей для новичков.

    • Изменено Oleg Kurzov 19 ноября 2013 г. 15:01
    19 ноября 2013 г. 15:01
  • Если вы пишете приложение на C++ то должны использовать IVector<T>. Если же пишете на C#/VB, то этот WinRT тип проецируется на IList<T>, соответственно для этих языков используется старый добрый IList<T>.

    Для более глубокого понимаю советую прочитать статьи:

    Римейк разработки приложений с применением Windows Runtime

    За кулисами .NET и Windows Runtime

    Windows Runtime Components in a .NET World

    19 ноября 2013 г. 15:04
  • Я уже просмотрел здесь все вступительные учебники по C++. Плюсы вообще плохо представлены. Почти все учебники объединены в общий раздел С++, C#, VB после чего описывается С# и VB а плюсы как-то исчезают. 

    Меня интересует конкретный класс. В шарпе это ObservableCollection. В примерах на msdn используется замечательный термин что у сишарпе этот класс есть. Я смутно себе представлю как это класс может быть прямо в языке ну да бог с ним. А в какой библиотеке мне искать данный класс в плюсах я не знаю. Писать в шарпе я тоже не хочу, потому что долгое время писал в дельфи и уже обжегся на множественном наследовании. Второй раз не хочу.

    Мне нужен класс коллекции с сортировкой, фильтрами и биндингом. Так что словари, вектора и списки пролетают. Сам я его естественно писать не хочу. Все-таки 21 век на дворе. Это вообще-то один из фундаментальных классов. Я и книгу то эту начал читать в поисках этого класса. Думал что api общий, а получается что нет.

    20 ноября 2013 г. 10:53
  • Добрый день.

    Не по теме, просто интересно... А кто вам сказал, что в C# есть множественное наследование?

    20 ноября 2013 г. 10:57
    Отвечающий
  • От вас ничего не утаишь!

    Именно! Его там нет.

    20 ноября 2013 г. 12:09
  • От вас ничего не утаишь!

    Именно! Его там нет.


    И? Я вот на C# программирую с 2003 года, куча достаточно больших проектов... Мне ни разу не мешало отсутствие множественного наследования от классов. Можно пример, когда это необходимо? Просто я всегда думал, что множественное наследование - зло, в связи со снижением поддерживаемости кода.
    20 ноября 2013 г. 12:42
    Отвечающий
  • Выбирайте из имеющегося: Collections (C++/CX)
    20 ноября 2013 г. 12:49
  • А я программирую с 1988 много на чем и не вижу смысла мигрировать в новую среду на урезанном инструментарии.
    20 ноября 2013 г. 14:05
  • Эту картинку я видел.

    То есть коллекций нет?

    Но это же бред! На мобильной то системе! А телефонные книги то куда совать???

    Я эту фигню на постном масле три раза за свою жизнь писал. Больше не хочу.
    • Изменено arhis 20 ноября 2013 г. 14:10
    20 ноября 2013 г. 14:07
  • Я не отговариваю вас от принятого решения, я просто пытаюсь понять что вас сподвигло на такое решение. На мой взгляд, причиной может быть наличие или отсутствие необходимого инструментария в том или ином языке. Мы с вами по этому поводу вроде к компромиссу пришли. Вы называете таким функционалом "множественное наследование". Я согласен, что в C++ оно есть, а в C# его нет. Когда я стоял перед выбором C# или C++, то для меня отказ от множественного наследования был существенным плюсом C# над C++. Ведь наличие интерфейсов позволяет в C# реализовать множественное наследование поведения, а запрет на множественное наследование классов снимает кучу проблем при разработке и сопровождении кода. Именно по этой причине, я и попросил вас привести пример, когда множественное наследование позволяет решить конкретную задачу, которую другими способами решать менее эффективно. Извините, если моя формулировка показалась вам не корректной. Надеюсь, после такого развернутого объяснения моих целей, вы все таки удовлетворите мое любопытство и приведете пример, когда множественное наследование может быть полезно? Спасибо.
    20 ноября 2013 г. 14:18
    Отвечающий
  • Мы с вами из разных миров. Вы, судя по всему, пишете корпоративное ПО в большом коллективе, и из беседы следует, что возможно начальник проекта. Только они интересуются проблемами множественного наследования и сопровождением кода. А я программист-любитель пишущий для себя. В своих каракулях я разберусь независимо от того когда, на чем и с применением каких методов они написаны. Если вам так интересно, то я ваял систему клиент-сервер по трансляции биржевых торгов и портфелей. Где мне, по определенным соображениям, пришлось в третий и последний раз писать свою коллекцию, параллельно с которой была целая ветвь классов которые организовывали транспорт. И двух этих мутантов мне было не скрестить. Вопросы целесообразности и структуры стоят за рамками этой беседы мы и так отвлекаемся. Но сейчас, когда я перехожу в совершенно новую среду попутно меняя язык, мне хочется изучить то что умеет как можно больше, потому что в жизни может потребоваться все что угодно, а прыгать туда-сюда я не люблю. Лучше пусть у меня в пальцах будет один инструмент но зато хорошо сидящий и усвоенный.
    20 ноября 2013 г. 16:45
  • Что это за самодеятельность?

    Ничего на мой вопрос не отвечено. И уж тем более этим ответом не является приведенная схема классов. Я же это писал.

    Более того вырос второй вопрос - почему api неодинаков для разных языков?? Тогда это вообще нельзя назвать api. Это детский лепет.

    1 декабря 2013 г. 17:22
  • Что это за самодеятельность?

    Ничего на мой вопрос не отвечено. И уж тем более, этим ответом не является приведенная схема классов. Я уже это писал.

    Более того вырос второй вопрос - почему api неодинаков для разных языков?? Тогда это вообще нельзя назвать api. Это детский лепет.


    1 декабря 2013 г. 17:22
  • Добрый вечер.

    Спасибо за ваш ответ на мой вопрос.

    Теперь по поводу ваших вопросов:

    1. Если в теме давно нет активности и есть нечто весьма похожее на ответ, то модераторы закрывают топик пометив это "максимально похожее". Если ничего похожего на ответ нет, то переводят топик в тип "обсуждения".

    2. Чем вас не устраивают коллекции которые приведены по ссылке? Нормальные Generic типы. В которых вы можете хранить все что угодно, хоть телефонные книги, хоть еще чего. Что конкретно не так?

    3. Для Windows Store основными средствами разработки идут C#+XAML и HTML+JS. Нет, на C++ тоже можно. Даже в одном проекте могут быть сборки на C# и C++. Но вот основной упор сейчас делается именно на C#+XAML и HTML+JS. В C++ все появляется намного медленнее. Все конференции которые я посещаю в последнее время идут так: "В C# появилась D, E, F. Помните, мы на прошлой конференции говорили про A, B и C в C#. Так вот, радостная новость, теперь это доступно и C++". Как то так.

    1 декабря 2013 г. 18:26
    Отвечающий

  • Более того вырос второй вопрос - почему api неодинаков для разных языков?? Тогда это вообще нельзя назвать api. Это детский лепет.

    Если бы вы более внимательно почитали те статьи, ссылки на которые я привел в первом ответе, то у вас бы не возник этот вопрос. WinRT API один для всех, просто в C++, .NET и JS он используется по разному.

    2 декабря 2013 г. 5:32
  • Если бы вы более внимательно почитали те статьи, ссылки на которые я привел в первом ответе, то у вас бы не возник этот вопрос. WinRT API один для всех, просто в C++, .NET и JS он используется по разному.

    Вот это вот "по разному" Это пять!

    2 Алексей Лосев.

    В моем втором сообщении детально расписано почему мне не подходят эти классы.

    Спасибо за освещение проблем в среде. Но именно этот, не побоюсь этого слова, бардак - одна из основных причин того, что приложений мало, а те что есть с урезанным функционалом. Неужели в Микрософт думают что мы просто мечтаем изучить очередной по счету язык и API только потому, что очередная метущаяся душа из самой Микрософт углядела фатальный недостаток в том что давным-давно функционирует.

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

    Основная моя идея была в том, чтобы прочувствовать язык, среду в которой он варится и попробовать что-нибудь написать в DIRECT-X. Ну и к чему мне сишарп? И опять же, мне и в директе понадобиться этот класс.

    5 декабря 2013 г. 17:04
  • шарп прочувствовать очень легко. все просто, и интуитивно, и не займет много времени
    5 декабря 2013 г. 19:56
  • arhis ваши возмущения видятся мне примерно так - Хочу побывать за рубежом, но самолеты, поезда и машины мне как корове седло, 21 век на дворе а до сих пор не придумали как быстро попасть за рубеж пешком.

    С# и! VB являются как раз той эволюцией 21-го века о который вы тут вещаете. А С++ был есть и будет языком в котором ВСЕ нужно писать самому и с нуля.


    Yes, yes - am back!

    6 декабря 2013 г. 5:59
  • А С++ был есть и будет языком в котором ВСЕ нужно писать самому и с нуля.


    Это уже десять.

    Где вас таких учат...

    12 декабря 2013 г. 14:33
  • А С++ был есть и будет языком в котором ВСЕ нужно писать самому и с нуля.


    Это уже десять.

    Где вас таких учат...

    А зачем тогда задаете вопросы с таким то уровнем познаний?


    VB.Net - WPF, WinRT, WP

    12 декабря 2013 г. 14:35
  • шарп прочувствовать очень легко. все просто, и интуитивно, и не займет много времени

    Я не хочу через пару лет учить еще один простой и интуитивный язык.

    А он будет. В Микрософт вот опять начальство меняется.  Так что я вам  это гарантирую))

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

    12 декабря 2013 г. 14:36