Pull to refresh
32
0

User

Send message
Я не совсем Вас понял. Вы имеете в виду почему delete[], а не просто delete?
У Вас же CX — массив из 2х элементов, а масивы, если память под них выделена с помощью operator new[] — соответственно и зачищаются с помощью operator delete[].
Вот если бы было как-то так
double* CX = new double(0.5);

то, соответственно и удаляли бы
delete CX;
CX = NULL;

Я правильно Вас понял?
Опечатка
~Coord(){ delete [] CX; }
По поводу качества кода — приятно читатать комментарии-объяснения, например, взять ту же реализацию синглтона — ( %src%/base/memory ) — что-то новое, интересное да и почерпнул. Или, совсем не сложное, — хранение путей FilePath ( %src%/base/file_path.h ) — объяснение к заголовочному файлу — чего стоит. Или реализацию действительно надёжного сохранения файла. Иногда дух захватывает.

Что заинтересовало меня «в стиле» так это — огромное количество глобальных переменных ( да, в большинстве случаев, это некие константы, что вполне логично и все они разбросаны по пространствам имён ), но всё же…
+ наверное, присутствие вперемешку определения полноценного класса… а потом — куча глобальных функций для работы с данным класом, которые вполне логично могли бы переместиться в сам клас в некоторых случаях. Или вообще, например, чисто сишный код ( я имею ввиду структуры + ф-и для работы с ними, но структуры с конструкторами и деструкторами )…

Не знаю как вы, но посмотреть это стоит 100 % — очень интересно!
Интересно, а какой баг Вы исправили?
Я, может, не в тему, но — по поводу кода реализации на Windows — если уж ручками SubSystem
#pragma comment(linker, "/SUBSYSTEM:console")
указан, так и Character Set — скажите, что не Unicode :)
#undef UNICODE
#undef _UNICODE
Кажется мне, что кроме как специализации другого пути нет. А в таком случае, почему бы не вынести
    IMemoryManager* mm;
    bool isRegistered;

и остальные «общие» методы в некий базовый класс для всех hptr. Как по мне, это самый прстой выход из ситуации, если же я понял, что Вы хотите.
Я не интересовался этим, т.е. у меня стоит 10я студия и 12я, которая поставила Windows Kits\8.0…
Но знаю точно, что с помощью Visual Studio Express 2012 ничего не получится (не пробывал, где-то вычитал )
По поводу сборки,
Если в Path уже какая-то студия прописана, удаляем все упоминания и оставляем/дописываем только msvc12 (т.е.
\Microsoft Visual Studio 11.0\VC\bin; и желательно всё это делать через Developer Command Prompt for VS2012 ( Start -> \Microsoft Visual Studio 2012 -> Visual Studio Tools ) + в путях должны быть python и perl.
В итоге, после сборки и добавления версии Qt в Qt Creator получаем warning ( значёк, в смысле )
«The compiler 'Microsoft Visual C++ Compiler' 11.0 (x86) can not produce code for the Qt version 'Qt 5.0.0'»
но вроде как всё работает и проекты прекрасно собираются
И вообще, файлы немножко разных размеров в итоге.
да, в итоге в zip оказался exe :)
bin
config.tests
dist
doc
examples
lib
mkspecs
qmake
src
tests
tools
util
.qmake                                                conf
.tag
configure
configure                                              bat
configure                                              exe
header                                                 BSD
header                                                 FDL
header                                                LGPL
header                                           LGPL-ONLY
INSTALL
LGPL_EXCEPTION                                         txt
LICENSE                                                FDL
LICENSE                                                GPL
LICENSE                                               LGPL
LICENSE.PREVIEW                                 COMMERCIAL
qtbase                                                 pro
sync                                               profile
Ну а я tar.gz дважды. И сейчас странно чувствую, что теперь буду качать только в .zip.
И это всё очень странно.
The source code is available as a zip (270 MB) or a tar.gz (219 MB)
Т.е. или то, или то. Всегда качал tar.gz и все нормально было.
Сейчас в tar.gz снова та же проблема, качаю .zip — будет смешно, если будет не одинаково.
качаю снова, наверное пофиксили и я просто не вовремя всё скачал.
И спасибо, что пытались помочь, без вас никак бы не получилось.
Нет, я написал «Полез в »%QTSRC%/qtbase"… есть configure.bat в котором, ...".
Да, Far manager, вот директория qtbase
╔══════════ C:\Programs\Qt\qt-everywhere-opensource-src-5.0.0\qtbase ══╤════22:0
║n^                         Name                            │   Size   │  Date
║  ..                                                       │  <  Up  >│12/18/12
║  bin                                                      │  <Folder>│12/18/12
║  config.tests                                             │  <Folder>│12/18/12
║  dist                                                     │  <Folder>│12/18/12
║  doc                                                      │  <Folder>│12/18/12
║  examples                                                 │  <Folder>│12/18/12
║  lib                                                      │  <Folder>│12/18/12
║  mkspecs                                                  │  <Folder>│12/18/12
║  qmake                                                    │  <Folder>│12/18/12
║  src                                                      │  <Folder>│12/18/12
║  tests                                                    │  <Folder>│12/18/12
║  tools                                                    │  <Folder>│12/18/12
║  util                                                     │  <Folder>│12/18/12
║  .qmake                                               conf│        52│12/18/12
║  .tag                                                     │        41│12/18/12
║  configure                                                │   211,786│12/18/12
║  configure                                             bat│     3,755│12/19/12
║  header                                                BSD│     1,997│12/18/12
║  header                                                FDL│     1,264│12/18/12
║  header                                               LGPL│     1,966│12/18/12
║  header                                          LGPL-ONLY│       958│12/18/12
║  INSTALL                                                  │       622│12/18/12
║  LGPL_EXCEPTION                                        txt│     1,187│12/18/12
║  LICENSE                                               FDL│    22,961│12/18/12
║  LICENSE                                               GPL│    35,147│12/18/12
║  LICENSE                                              LGPL│    26,817│12/18/12
║  LICENSE.PREVIEW                                COMMERCIAL│    31,562│12/18/12
║  qtbase                                                pro│     3,850│12/18/12
║  sync                                              profile│     4,741│12/18/12
║                                                           │          │
Стоп.
configure.exe вообще уже нету в сорцах, а configure.bat пытается запустить configure.exe.
Я один что-то не понимаю?
В смысле
:conf
configure -srcdir %QTSRC% %*
goto exit

:sconf
%QTSRC%\configure %*
:exit


Раньше configure.exe был, а теперь батники, т.е. configure.exe вообще нету
Попыталься хотя бы запустить configure, но получил ошибку "%QTSRC%/qtbase/configure.exe is not recognized as an internal or external command, operable program or batch file". Полез в "%QTSRC%/qtbase" configure.exe то нету, есть configure.bat в котором, в конце строчки
:conf
configure.exe -srcdir %QTSRC% %*
goto exit

:sconf
%QTSRC%\configure.exe %*
:exit


— стало понятно в чём проблема. Удалил .exe и… мне кажется configure завис, т.е. ничего не выводит долгое время.
Есть мысли какие-то?
Спасибо. Сейчас попробую, отпишусь, может кому интересно.
Я не уверен, но configure вроде как подхватывает 2010-ю по умолчанию, были с этим проблемы при сборке Qt 4.8.
Как-то явно указать 2012 нельзя?
А кто может знает как под Windows собрать с msvc2012?

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Registered
Activity