|
|
|
конструктор
|
|||
|---|---|---|---|
|
#18+
Делаю (VC2005, win32) конструктор принимающий в качестве аргумента char Код: plaintext 1. 2. 3. 4. 5. проверяю 1 Способ: Код: plaintext 2 Способ: Код: plaintext 1. Насколько я понимаю, в первом случае не создается объекта и указатель на char cылается в никуда, во втором случае создается правильный объект char и указтель смотрит на него Какой нужен конструктор, чтобы работали оба способа? Спасибо! -------------------------------------------------------------- [подпись с другого сайта] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 17:09 |
|
||
|
конструктор
|
|||
|---|---|---|---|
|
#18+
Недостаточно памяти - malloc возвращает NULL? strcpy_s аналогична memcpy? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 17:54 |
|
||
|
конструктор
|
|||
|---|---|---|---|
|
#18+
AkhНедостаточно памяти - malloc возвращает NULL? strcpy_s аналогична memcpy? malloc резервирует как надо, на недостаточность указывает strcpy_s ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 18:00 |
|
||
|
конструктор
|
|||
|---|---|---|---|
|
#18+
Cerebrummalloc резервирует как надо, на недостаточность указывает strcpy_s Что за функция такая интересная? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 18:06 |
|
||
|
конструктор
|
|||
|---|---|---|---|
|
#18+
Akh Cerebrummalloc резервирует как надо, на недостаточность указывает strcpy_s Что за функция такая интересная? А в MSDN описания нету? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 18:07 |
|
||
|
конструктор
|
|||
|---|---|---|---|
|
#18+
автор errno_t strcpy_s( char *strDestination, size_t sizeInBytes, const char *strSource ); template <size_t size> errno_t strcpy_s( char (&strDestination)[size], const char *strSource ); // C++ only Не вижу смысла в использонии: Код: plaintext 1. Как компилятор, вообще, пропускает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 18:22 |
|
||
|
конструктор
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей АлексеевичА в MSDN описания нету? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Смотрим порядок параметров ... Код: plaintext 1. ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 18:24 |
|
||
|
конструктор
|
|||
|---|---|---|---|
|
#18+
у конечно прамеипы, но не только. в первом случае имеет место символьная константа из статической памяти, а во втором - символ на стеке, в первом случак не повзло крпировали всю программу в буфер, а во втором - повезло стек то не пользованный нулями забит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 19:02 |
|
||
|
конструктор
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 19:02 |
|
||
|
конструктор
|
|||
|---|---|---|---|
|
#18+
Akh Как компилятор, вообще, пропускает? приношу свои извинения, это я здесь просто ошибся, в программе два последних параметра стоят на своих местах, что касается, abrakadabr13 Код: plaintext 1. 2. 3. 4. 5. 6. то у меня m_pBuffer объявлен void'ом специально, так что не подходит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 07:53 |
|
||
|
конструктор
|
|||
|---|---|---|---|
|
#18+
Cerebrumто у меня m_pBuffer объявлен void'ом специально, так что не подходит А, например, то же самое, что и abrakadabr13, + С-приведение типов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 09:42 |
|
||
|
конструктор
|
|||
|---|---|---|---|
|
#18+
Cerebrum что касается, abrakadabr13 Код: plaintext 1. 2. 3. 4. 5. 6. то у меня m_pBuffer объявлен void'ом специально, так что не подходитОк, Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 09:43 |
|
||
|
конструктор
|
|||
|---|---|---|---|
|
#18+
А sizeof(char) * 2 для каких-то своих нужд? Преобразованная строка помещается? Может (sizeof(char)+sizeof(char)) * 2, для завершающего нуля? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 10:12 |
|
||
|
конструктор
|
|||
|---|---|---|---|
|
#18+
AkhА sizeof(char) * 2 для каких-то своих нужд? Преобразованная строка помещается? Может (sizeof(char)+sizeof(char)) * 2, для завершающего нуля? sizeof(char) * 2 как раз для символа и завершающего нуля ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 10:40 |
|
||
|
конструктор
|
|||
|---|---|---|---|
|
#18+
Cerebrumsizeof(char) * 2 как раз для символа и завершающего нуля А, ну да. Что-то предположил самое менее вероятное. ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 10:44 |
|
||
|
конструктор
|
|||
|---|---|---|---|
|
#18+
Barlone , твой пример работает на ура во всех случаях , СПАСИБО! Только вот встает вопрос, что эффективнее с точки зрения процессорного времени, cделать memset или как предложил, уважаемый Barlone ? -------------------------------------------------------------- [подпись с другого сайта] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 10:59 |
|
||
|
конструктор
|
|||
|---|---|---|---|
|
#18+
Cerebrum Barlone , твой пример работает на ура во всех случаях , СПАСИБО! Только вот встает вопрос, что эффективнее с точки зрения процессорного времени, cделать memset или как предложил, уважаемый Barlone ? В варианте Barlone нет вызова функции, которая неизвестно, что будет делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 11:27 |
|
||
|
конструктор
|
|||
|---|---|---|---|
|
#18+
В этой строчке: strcpy_s((char*)m_pBuffer, &pzsChar, _msize(m_pBuffer))); Неправильно вот это: _msize(m_pBuffer) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 00:49 |
|
||
|
конструктор
|
|||
|---|---|---|---|
|
#18+
А может и правильно ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 00:50 |
|
||
|
конструктор
|
|||
|---|---|---|---|
|
#18+
Половина проблем у новичков в языке C/С++ непосредственно связанна со строками и строковыми операциями. В очередной раз убеждаюсь в этом. C уважением ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 01:12 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=322&tid=2029981]: |
0ms |
get settings: |
6ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 206ms |
| total: | 364ms |

| 0 / 0 |
