- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 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
#include <malloc.h>
#include <string.h>
void print( void **p, int n ) {
int i = 0;
for(; i < n; ++i ) {
printf( "%x ", *( p + i ) );
}
printf( "\n" );
}
void get( void** pp, void** p ) {
*p = *pp;
}
void set( void** pp, void **p ) {
*pp = *p;
}
int main() {
printf( "sizeof: void* = %d, void** = %d\n", sizeof( void* ), sizeof( void** ) );
void ** pv = malloc( sizeof( void* ) * 8 ), **pp2;
memset( pv, 1, 8 * sizeof( void* ) );
printf( "pv = %x\n", pv );
print( pv, 8 );
pp2 = pv + 2 * sizeof( void** );
void *p = (void*)0x01020304c, *p2 = p;
*pp2 = p;
printf( "pv = %x, pp2 = %x, p=%x, p2 = %x\n", pv, pp2, p, p2 );
get( pv + 1, &p );
printf( "result get( pv + 1, &p ) -> *( pv + 1 ) = %x, p = %x\n", *( pv + 1 ), p );
set( pv + 2, &p2 );
printf( "result set( pv + 2 *, p2 ) -> *( pv + 2 ) = %x, p2 = %x\n", *( pv + 2 ), p2 );
print( pv, 8 );
free( pv );
return 0;
}
Просто оставлю это здесь, на будущее.
О том, как работать с void**.
AnaILoIIipop 07.09.2018 14:18 # 0
BoeHHblu_nemyx 07.07.2019 12:08 # 0
Elvenfighter 07.09.2018 18:03 # 0
bormand 07.09.2018 18:21 # 0
З.Ы. Странная какая-то строка, зачем там вообще sizeof()?
guest8 07.09.2018 18:39 # −999
bormand 07.09.2018 18:40 # 0
Stefan 08.09.2018 00:38 # +1
guest8 08.09.2018 09:02 # −999
guest8 08.09.2018 09:09 # −999
gost 08.09.2018 11:37 # +1
bormand 08.09.2018 11:53 # 0
vistefan 08.09.2018 13:13 # 0
AnaILoIIipop 08.09.2018 13:51 # −2
bormand 08.09.2018 13:58 # +1
guest8 08.09.2018 14:31 # −999
guest8 09.09.2018 19:48 # −999
TEH3OPHblu_nemyx 07.07.2019 17:31 # 0
Всё тревожное светло.
Плещет рдяный мак заката
На озёрное стекло.
И невольно в море хлеба
Рвётся образ с языка:
Отелившееся небо
Лижет красного телка.
BoeHHblu_nemyx 07.07.2019 12:04 # 0
csrfverificatinho 08.09.2018 15:36 # 0
vistefan 08.09.2018 16:11 # 0
csrfverificatinho 08.09.2018 16:44 # 0
guest8 09.09.2018 11:42 # −999
guest8 08.09.2018 01:44 # −999
MasterJoda 08.09.2018 10:27 # 0
То ли дело Forth:
gost 08.09.2018 11:38 # 0
Поэтому я за «intptr_t».
guest8 09.09.2018 19:53 # −999
guest8 07.07.2019 15:26 # −999
TEH3OPHblu_nemyx 07.07.2019 15:47 # 0
bormand 07.07.2019 16:07 # 0
gost 07.07.2019 16:54 # +2
Именно поэтому я за «PDP-11» их нет и в сишке — она ж, ЕМНИП, как раз под «PDP-11» и делалась.
Elvenfighter 08.09.2018 16:57 # 0
Ита каг?
guest8 08.09.2018 17:38 # −999
Elvenfighter 08.09.2018 18:57 # 0
gost 09.09.2018 20:16 # +1
Хотя бы из-за линейности: в крестах после быстрого взгляда ясно видно, что f — это функция, возвращающая функцию double -> int и принимающая double и функцию (int, double) -> double. А вот что за ебанутый шифр скрывается за сишным определением можно понять, только если каждый день по пол-часа курить мануал сишных указателей (я, кстати, когда-то подобную хрень мог даже руками писать… а потом за ненадобностью всё забылось — в отличие от простого и понятного крестового синтаксиса).
Нет, разумеется, есть тайпдефы — но если на говно положить газетку, говном оно быть не перестанет. читается на порядок лучше ебанутейшего
bzzz 10.09.2018 11:21 # 0
gost 10.09.2018 13:18 # 0
guest8 10.09.2018 13:27 # −999
yet_another_one_shit 07.07.2019 12:44 # +1
j123123 10.09.2018 13:52 # +1
> читается на порядок лучше ебанутейшего
https://cs6.pikabu.ru/images/big_size_comm/2015-08_2/1438957724160145747.jpg
j123123 10.09.2018 13:58 # 0
roman-kashitsyn 10.09.2018 14:54 # +2
gost 10.09.2018 15:40 # 0
MasterJoda 10.09.2018 18:07 # 0
yet_another_one_shit 07.07.2019 12:42 # 0
j123123 10.09.2018 22:24 # 0
Может быть вы имели ввиду: "в отличие от простого и понятного крестового синтаксиса" ?
j123123 10.09.2018 22:29 # 0
roman-kashitsyn 10.09.2018 22:45 # 0
j123123 10.09.2018 22:59 # 0
bormand 10.09.2018 23:12 # 0
guest8 11.09.2018 00:01 # −999
guest8 07.07.2019 15:22 # −999
Desktop 10.09.2018 23:31 # 0
bormand 10.09.2018 23:34 # 0
Если сложить джве ьесконечности, то получится ьесконечность?
Desktop 11.09.2018 11:16 # 0
j123123 10.09.2018 22:52 # +1
По-моему получше твоей пидоросни с std::kokoko<std::kudah<kukarek>>
defecate-plusplus 10.09.2018 23:24 # +3
да и в целом инсталляция создает нечто неуловимое
или это перфоманс? выглядит, как кошка путина, только поближе
guest8 11.09.2018 00:17 # −999
defecate-plusplus 11.09.2018 00:27 # +3
guest8 11.09.2018 01:27 # −999
guest8 10.09.2018 23:58 # −999
Elvenfighter 11.09.2018 00:15 # +1
guest8 11.09.2018 00:20 # −999
guest8 11.09.2018 00:23 # −999
guest8 11.09.2018 00:23 # −999
Elvenfighter 11.09.2018 14:37 # 0
guest8 11.09.2018 14:50 # −999
guest8 11.09.2018 23:56 # −999
guest8 12.09.2018 00:00 # −999
guest8 11.09.2018 02:10 # −999
guest8 11.09.2018 02:24 # −999
j123123 11.09.2018 11:00 # +1
Elvenfighter 11.09.2018 14:39 # +2
j123123 11.09.2018 17:04 # 0
А ваш плюсовый std::array так умеет?
j123123 11.09.2018 11:11 # +1
j123123 11.09.2018 13:18 # +1
Одного typeof вполне достаточно
Elvenfighter 11.09.2018 14:42 # 0
> Instances of std::function can store, copy, and invoke any Callable target -- functions, lambda expressions, bind expressions, or other function objects, as well as pointers to member functions and pointers to data members.
Пирформанс же падает!
guest8 11.09.2018 14:52 # −999
j123123 11.09.2018 14:52 # 0
В сишке-то нет никаких других Callable target
yet_another_one_shit 07.07.2019 12:38 # +1
TEH3OPHblu_nemyx 07.07.2019 12:42 # 0
guest8 07.07.2019 12:51 # −999
guest8 07.07.2019 15:23 # −999
guest8 07.07.2019 12:52 # −999