Этого треда уже нет.
Это копия, сохраненная 17 апреля 2015 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
sage #2 #448320
>>448310
Красава, хорошо сделал. Жаль, что долбоебы все равно продолжат спрашивать, как присвоить значение переменной.
sage #3 #448321
зачем нужны указатели?
129 Кб, 750x563
sage #4 #448325
>>448321
прост)))
#5 #448462
>>448310
Пик порашный
sage #6 #448463
>>448310
Анон как скомпилировать программу чтоб сразу работало?
sage #7 #448465
Ребята раскажыте какую функцыю написать чтоб акаунт в Вконтакте взламывать?!?!
Важно #8 #448467
>>448310
КАК ОТСОРТИРОВАТЬ МАСИВ?!
sage #9 #448469
куда нажимать чтоб программа работала?
#10 #448486
>>448321
Много для чего.
Например для передачи из функции значения.
>>448463
Старайся написать программу без синтаксических ошибок в коде.
>>448465
Нет таких фунцкий.
>>448469
Зеленая стрелочка в visual studio сверху.
sage #11 #448506
анон что это

In file included from /usr/include/c++/4.6/mocha:5:0, from error_code.cpp:2:
/usr/include/c++/4.6/bits/stl_algo.h: In function ‘_RandomAccessIterator std::__find(_RandomAccessIterator, _RandomAccessIterator, const _Tp&, std::random_access_iterator_tag) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator, std::vector > >, _Tp = int]’:
/usr/include/c++/4.6/bits/stl_algo.h:4403:45: instantiated from ‘_IIter std::find(_IIter, _IIter, const _Tp&) [with _IIter = __gnu_cxx::__normal_iterator
, std::vector > >, _Tp = int]’
error_code.cpp:8:89: instantiated from here
/usr/include/c++/4.6/bits/stl_algo.h:162:4: error: no match for ‘operator==’ in ‘__first.__gnu_cxx::__normal_iterator::operator [with _Iterator = std::vector, _Container = std::vector >, __gnu_cxx::__normal_iterator::reference = std::vector&]() == __val’
/usr/include/c++/4.6/bits/stl_algo.h:162:4: note: candidates are:
/usr/include/c++/4.6/bits/stl_pair.h:201:5: note: template bool std::operator==(const std::pair&, const std::pair&)
/usr/include/c++/4.6/bits/stl_iterator.h:285:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:335:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/allocator.h:122:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/allocator.h:127:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/stl_vector.h:1273:5: note: template bool std::operator==(const std::vector&, const std::vector&)
/usr/include/c++/4.6/ext/new_allocator.h:123:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::new_allocator&, const __gnu_cxx::new_allocator&)
/usr/include/c++/4.6/bits/stl_iterator.h:805:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:799:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
/usr/include/c++/4.6/bits/stl_algo.h:4403:45: instantiated from ‘_IIter std::find(_IIter, _IIter, const _Tp&) [with _IIter = __gnu_cxx::__normal_iterator, std::vector > >, _Tp = int]’
error_code.cpp:8:89: instantiated from here
/usr/include/c++/4.6/bits/stl_algo.h:166:4: error: no match for ‘operator==’ in ‘__first.__gnu_cxx::__normal_iterator::operator
[with _Iterator = std::vector, _Container = std::vector >, __gnu_cxx::__normal_iterator::reference = std::vector&]() == __val’
/usr/include/c++/4.6/bits/stl_algo.h:166:4: note: candidates are:
/usr/include/c++/4.6/bits/stl_pair.h:201:5: note: template bool std::operator==(const std::pair&, const std::pair&)
/usr/include/c++/4.6/bits/stl_iterator.h:285:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:335:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/allocator.h:122:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/allocator.h:127:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/stl_vector.h:1273:5: note: template bool std::operator==(const std::vector&, const std::vector&)
/usr/include/c++/4.6/ext/new_allocator.h:123:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::new_allocator&, const __gnu_cxx::new_allocator&)
/usr/include/c++/4.6/bits/stl_iterator.h:805:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:799:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
/usr/include/c++/4.6/bits/stl_algo.h:170:4: error: no match for ‘operator==’ in ‘__first.__gnu_cxx::__normal_iterator::operator
[with _Iterator = std::vector, _Container = std::vector >, __gnu_cxx::__normal_iterator::reference = std::vector&]() == __val’
/usr/include/c++/4.6/bits/stl_algo.h:170:4: note: candidates are:
/usr/include/c++/4.6/bits/stl_pair.h:201:5: note: template bool std::operator==(const std::pair&, const std::pair&)
/usr/include/c++/4.6/bits/stl_iterator.h:285:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:335:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/allocator.h:122:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/allocator.h:127:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/stl_vector.h:1273:5: note: template bool std::operator==(const std::vector&, const std::vector&)
/usr/include/c++/4.6/ext/new_allocator.h:123:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::new_allocator&, const __gnu_cxx::new_allocator&)
/usr/include/c++/4.6/bits/stl_iterator.h:805:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:799:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
/usr/include/c++/4.6/bits/stl_algo.h:174:4: error: no match for ‘operator==’ in ‘__first.__gnu_cxx::__normal_iterator::operator
[with _Iterator = std::vector, _Container = std::vector >, __gnu_cxx::__normal_iterator::reference = std::vector&]() == __val’
/usr/include/c++/4.6/bits/stl_algo.h:174:4: note: candidates are:
/usr/include/c++/4.6/bits/stl_pair.h:201:5: note: template bool std::operator==(const std::pair&, const std::pair&)
/usr/include/c++/4.6/bits/stl_iterator.h:285:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:335:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/allocator.h:122:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/allocator.h:127:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/stl_vector.h:1273:5: note: template bool std::operator==(const std::vector&, const std::vector&)
/usr/include/c++/4.6/ext/new_allocator.h:123:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::new_allocator&, const __gnu_cxx::new_allocator&)
/usr/include/c++/4.6/bits/stl_iterator.h:805:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:799:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
/usr/include/c++/4.6/bits/stl_algo.h:182:4: error: no match for ‘operator==’ in ‘__first.__gnu_cxx::__normal_iterator::operator
[with _Iterator = std::vector, _Container = std::vector >, __gnu_cxx::__normal_iterator::reference = std::vector&]() == __val’
/usr/include/c++/4.6/bits/stl_algo.h:182:4: note: candidates are:
/usr/include/c++/4.6/bits/stl_pair.h:201:5: note: template bool std::operator==(const std::pair&, const std::pair&)
/usr/include/c++/4.6/bits/stl_iterator.h:285:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:335:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/allocator.h:122:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/allocator.h:127:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/stl_vector.h:1273:5: note: template bool std::operator==(const std::vector&, const std::vector&)
/usr/include/c++/4.6/ext/new_allocator.h:123:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::new_allocator&, const __gnu_cxx::new_allocator&)
/usr/include/c++/4.6/bits/stl_iterator.h:805:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:799:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
/usr/include/c++/4.6/bits/stl_algo.h:186:4: error: no match for ‘operator==’ in ‘__first.__gnu_cxx::__normal_iterator::operator
[with _Iterator = std::vector, _Container = std::vector >, __gnu_cxx::__normal_iterator::reference = std::vector&]() == __val’
/usr/include/c++/4.6/bits/stl_algo.h:186:4: note: candidates are:
/usr/include/c++/4.6/bits/stl_pair.h:201:5: note: template bool std::operator==(const std::pair&, const std::pair&)
/usr/include/c++/4.6/bits/stl_iterator.h:285:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:335:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/allocator.h:122:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/allocator.h:127:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/stl_vector.h:1273:5: note: template bool std::operator==(const std::vector&, const std::vector&)
/usr/include/c++/4.6/ext/new_allocator.h:123:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::new_allocator&, const __gnu_cxx::new_allocator&)
/usr/include/c++/4.6/bits/stl_iterator.h:805:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:799:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
/usr/include/c++/4.6/bits/stl_algo.h:190:4: error: no match for ‘operator==’ in ‘__first.__gnu_cxx::__normal_iterator::operator
[with _Iterator = std::vector*, _Container = std::vector >, __gnu_cxx::__normal_iterator::reference = std::vector&]() == __val’
/usr/include/c++/4.6/bits/stl_algo.h:190:4: note: candidates are:
/usr/include/c++/4.6/bits/stl_pair.h:201:5: note: template bool std::operator==(const std::pair&, const std::pair&)
/usr/include/c++/4.6/bits/stl_iterator.h:285:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:335:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/allocator.h:122:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/allocator.h:127:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/stl_vector.h:1273:5: note: template bool std::operator==(const std::vector&, const std::vector&)
/usr/include/c++/4.6/ext/new_allocator.h:123:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::new_allocator&, const __gnu_cxx::new_allocator&)
/usr/include/c++/4.6/bits/stl_iterator.h:805:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:799:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
sage #11 #448506
анон что это

In file included from /usr/include/c++/4.6/mocha:5:0, from error_code.cpp:2:
/usr/include/c++/4.6/bits/stl_algo.h: In function ‘_RandomAccessIterator std::__find(_RandomAccessIterator, _RandomAccessIterator, const _Tp&, std::random_access_iterator_tag) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator, std::vector > >, _Tp = int]’:
/usr/include/c++/4.6/bits/stl_algo.h:4403:45: instantiated from ‘_IIter std::find(_IIter, _IIter, const _Tp&) [with _IIter = __gnu_cxx::__normal_iterator
, std::vector > >, _Tp = int]’
error_code.cpp:8:89: instantiated from here
/usr/include/c++/4.6/bits/stl_algo.h:162:4: error: no match for ‘operator==’ in ‘__first.__gnu_cxx::__normal_iterator::operator [with _Iterator = std::vector, _Container = std::vector >, __gnu_cxx::__normal_iterator::reference = std::vector&]() == __val’
/usr/include/c++/4.6/bits/stl_algo.h:162:4: note: candidates are:
/usr/include/c++/4.6/bits/stl_pair.h:201:5: note: template bool std::operator==(const std::pair&, const std::pair&)
/usr/include/c++/4.6/bits/stl_iterator.h:285:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:335:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/allocator.h:122:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/allocator.h:127:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/stl_vector.h:1273:5: note: template bool std::operator==(const std::vector&, const std::vector&)
/usr/include/c++/4.6/ext/new_allocator.h:123:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::new_allocator&, const __gnu_cxx::new_allocator&)
/usr/include/c++/4.6/bits/stl_iterator.h:805:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:799:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
/usr/include/c++/4.6/bits/stl_algo.h:4403:45: instantiated from ‘_IIter std::find(_IIter, _IIter, const _Tp&) [with _IIter = __gnu_cxx::__normal_iterator, std::vector > >, _Tp = int]’
error_code.cpp:8:89: instantiated from here
/usr/include/c++/4.6/bits/stl_algo.h:166:4: error: no match for ‘operator==’ in ‘__first.__gnu_cxx::__normal_iterator::operator
[with _Iterator = std::vector, _Container = std::vector >, __gnu_cxx::__normal_iterator::reference = std::vector&]() == __val’
/usr/include/c++/4.6/bits/stl_algo.h:166:4: note: candidates are:
/usr/include/c++/4.6/bits/stl_pair.h:201:5: note: template bool std::operator==(const std::pair&, const std::pair&)
/usr/include/c++/4.6/bits/stl_iterator.h:285:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:335:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/allocator.h:122:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/allocator.h:127:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/stl_vector.h:1273:5: note: template bool std::operator==(const std::vector&, const std::vector&)
/usr/include/c++/4.6/ext/new_allocator.h:123:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::new_allocator&, const __gnu_cxx::new_allocator&)
/usr/include/c++/4.6/bits/stl_iterator.h:805:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:799:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
/usr/include/c++/4.6/bits/stl_algo.h:170:4: error: no match for ‘operator==’ in ‘__first.__gnu_cxx::__normal_iterator::operator
[with _Iterator = std::vector, _Container = std::vector >, __gnu_cxx::__normal_iterator::reference = std::vector&]() == __val’
/usr/include/c++/4.6/bits/stl_algo.h:170:4: note: candidates are:
/usr/include/c++/4.6/bits/stl_pair.h:201:5: note: template bool std::operator==(const std::pair&, const std::pair&)
/usr/include/c++/4.6/bits/stl_iterator.h:285:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:335:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/allocator.h:122:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/allocator.h:127:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/stl_vector.h:1273:5: note: template bool std::operator==(const std::vector&, const std::vector&)
/usr/include/c++/4.6/ext/new_allocator.h:123:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::new_allocator&, const __gnu_cxx::new_allocator&)
/usr/include/c++/4.6/bits/stl_iterator.h:805:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:799:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
/usr/include/c++/4.6/bits/stl_algo.h:174:4: error: no match for ‘operator==’ in ‘__first.__gnu_cxx::__normal_iterator::operator
[with _Iterator = std::vector, _Container = std::vector >, __gnu_cxx::__normal_iterator::reference = std::vector&]() == __val’
/usr/include/c++/4.6/bits/stl_algo.h:174:4: note: candidates are:
/usr/include/c++/4.6/bits/stl_pair.h:201:5: note: template bool std::operator==(const std::pair&, const std::pair&)
/usr/include/c++/4.6/bits/stl_iterator.h:285:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:335:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/allocator.h:122:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/allocator.h:127:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/stl_vector.h:1273:5: note: template bool std::operator==(const std::vector&, const std::vector&)
/usr/include/c++/4.6/ext/new_allocator.h:123:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::new_allocator&, const __gnu_cxx::new_allocator&)
/usr/include/c++/4.6/bits/stl_iterator.h:805:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:799:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
/usr/include/c++/4.6/bits/stl_algo.h:182:4: error: no match for ‘operator==’ in ‘__first.__gnu_cxx::__normal_iterator::operator
[with _Iterator = std::vector, _Container = std::vector >, __gnu_cxx::__normal_iterator::reference = std::vector&]() == __val’
/usr/include/c++/4.6/bits/stl_algo.h:182:4: note: candidates are:
/usr/include/c++/4.6/bits/stl_pair.h:201:5: note: template bool std::operator==(const std::pair&, const std::pair&)
/usr/include/c++/4.6/bits/stl_iterator.h:285:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:335:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/allocator.h:122:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/allocator.h:127:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/stl_vector.h:1273:5: note: template bool std::operator==(const std::vector&, const std::vector&)
/usr/include/c++/4.6/ext/new_allocator.h:123:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::new_allocator&, const __gnu_cxx::new_allocator&)
/usr/include/c++/4.6/bits/stl_iterator.h:805:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:799:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
/usr/include/c++/4.6/bits/stl_algo.h:186:4: error: no match for ‘operator==’ in ‘__first.__gnu_cxx::__normal_iterator::operator
[with _Iterator = std::vector, _Container = std::vector >, __gnu_cxx::__normal_iterator::reference = std::vector&]() == __val’
/usr/include/c++/4.6/bits/stl_algo.h:186:4: note: candidates are:
/usr/include/c++/4.6/bits/stl_pair.h:201:5: note: template bool std::operator==(const std::pair&, const std::pair&)
/usr/include/c++/4.6/bits/stl_iterator.h:285:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:335:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/allocator.h:122:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/allocator.h:127:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/stl_vector.h:1273:5: note: template bool std::operator==(const std::vector&, const std::vector&)
/usr/include/c++/4.6/ext/new_allocator.h:123:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::new_allocator&, const __gnu_cxx::new_allocator&)
/usr/include/c++/4.6/bits/stl_iterator.h:805:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:799:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
/usr/include/c++/4.6/bits/stl_algo.h:190:4: error: no match for ‘operator==’ in ‘__first.__gnu_cxx::__normal_iterator::operator
[with _Iterator = std::vector*, _Container = std::vector >, __gnu_cxx::__normal_iterator::reference = std::vector&]() == __val’
/usr/include/c++/4.6/bits/stl_algo.h:190:4: note: candidates are:
/usr/include/c++/4.6/bits/stl_pair.h:201:5: note: template bool std::operator==(const std::pair&, const std::pair&)
/usr/include/c++/4.6/bits/stl_iterator.h:285:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:335:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&)
/usr/include/c++/4.6/bits/allocator.h:122:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/allocator.h:127:5: note: template bool std::operator==(const std::allocator&, const std::allocator&)
/usr/include/c++/4.6/bits/stl_vector.h:1273:5: note: template bool std::operator==(const std::vector&, const std::vector&)
/usr/include/c++/4.6/ext/new_allocator.h:123:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::new_allocator&, const __gnu_cxx::new_allocator&)
/usr/include/c++/4.6/bits/stl_iterator.h:805:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
/usr/include/c++/4.6/bits/stl_iterator.h:799:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&)
sage #12 #448508
aaaxaxaxaaxaxxaxx
http://ideone.com/T9tLY2
#13 #448527
>>448508
Для студии был сплоит, основанный точно на таком же принципе.
#14 #448549
Аноны, почему

int n=2;
if(n=1,2,3,4){
cout<<"Ok";
}

срабатывает как истина и выводит Ok?
#15 #448551
>>448549
(n==1,2,3,4)

*быстрофикс
sage #16 #448552
>>448549
Потому что учи синтаксис, долбоеб.
sage #17 #448553
>>448551
Сути дела не меняет.
#18 #448555
>>448553

Почему не меняет? Тут же оператор сравнения ==, а не присваивания. В чём тонкость?

Суть в том, что препод сейчас сказала, что один чувак с первого курса с помощью этой конструкции как-то сделал так, что if работал как switch. Как именно - она не помнит, но вложенности там не было.
sage #20 #448558
>>448555
Алсо, можешь своей преподше дебильной в рот нассать, пезды не могут в погромирование.
#21 #448563
>>448558
Хуита какая-то. Судя по описанию этой операции должно другое получаться.
5 Кб, 607x22
sage #22 #448565
>>448563
Так понятнее?
#23 #448566
>>448565
Да. Значит эта овца пиздит и что-то она так не так увидела или поняла.
sage #24 #448568
>>448566
Именно. Или у того хуесоса, про которого она говорит, по стечению обстоятельств код работал верно, хоть и был ошибочным (например, переменная n всегда была равна 1, если брать твой пример).
#25 #448748
>>448310
Посоны, чего написать джуну для портфолио? Знание каких технологий обязательно, кроме основ? Кути, бусты обязательны для джуна?

Я сам жабоблядок, на работу не берут нихуя. Думаю обмазаться крестами, хули делать.
#26 #448752
>>448748
О, заинтересовался. Бамп вопросу. Что вообще надо на крестоджуна знать?
sage #27 #448754
>>448748
Борду напиши, азаза. Так то было бы и не азаза, но заебешься объяснять потом зашоренным дебилам. В какой области хочешь работать, для той и пиши. Для десктопа, например, очевидный текстовый редактор (что-то уровня Notepad++, без лишних перделок).
Фреймворк хотя бы один надо изучить. Как без них то вообще что-то можно писать? Это ж велосипед на велосипеде выходит.
Ну и раз уж тебя на жабе не берут, то на крестах не возьмут и подавно, это тебе не в XML конфиги прописывать, тут все серьезнее и порог вхождения выше.
#28 #448763
>>448748

> Кути, бусты обязательны для джуна?


Вообще зависит от вакансии, но если ты собрался писать для портфолио то нужны. Врядли ты что-то напишешь без них. Можно конечно WinAPI использовать, но скорее всего на тебя будут показывать пальцами и смеяться. Если собираешся погружатся в кресты то лишними они не будут, особенно буст.
#29 #448765
>>448754
А если парсер капчи написать? Норм будет? Чейто текстовый редактор не интересно, а борду клепать долго.
#30 #448769
>>448765
нахуя ты спрашиваешь, если у самого идеи есть
вангую, что ты просто петушок, который ничего не напишет.
sage #31 #448772
>>448765

>парсер


>парсер


>парсер


>парсер


Блять...
>>448769
Поддерживаю мелкобуквенного.
#32 #448777
чё вы все с сегой пишите?
#33 #448778
>>448777
Байтоебы, сэр.
#34 #448781
>>448777
Не думал, что это один человек?
#35 #448782
>>448781
Нет, тут же приличное общество, зачем здесь семёнить?
sage #36 #448783
>>448777
Не все, а только я. Тому що не нравится этот тред (из-за толп студентов-дегенератов). Хочется помогать адекватным людям, которым интересно, которые хотят учиться, а вместо этого что? Долбоебы со своими лабами, не могущими синтаксис загуглить.
sage #37 #448784
>>448783

>не могущие


фикс
#38 #448786
>>448783
Кек. А я вот пилю решалку систем линейных уравнений методом итераций.
inb4: Уебывай студентоблядь.
Решил по фану запилить. Сейчас правда какая-то ошибка сверхъестественная.
Собранная ms компилятором программа правильно.
Собранная Gcc компиляторо программа работает неправильно.
Если запустить вторую программу в режиме дебагенга она опять начинает работать, как надо.
#39 #448790
>>448786
Вангую undefined behaviour где-нибудь. Границы массивов проверь, лол.
#40 #448791
>>448786
И я без понятия, как посмотреть значения переменных, не запуская дебаггер.
Если же я запускаю программу, то она высчитывает значения как надо.

>>448790
Да вроде бы не выходит нигде.
#41 #448792
>>448791

> как посмотреть значения переменных не запуская дебаггер


cout <<
#42 #448793
>>448791
Ну тогда только хардкор, только логирование ручками в консоль через строчку.
#43 #448794
>>448792
Ну вот я сейчас этим и буду заниматься. Загуглил - ничего внятного не нашел.
sage #44 #448797
>>448786
Код давай. У меня первокур один такой был, тоже у него в дебаге работало, а в релизе падало. Оказалось, что какое-то обоссанное мелкомягкое расширение синтаксиса использовалось, типа new int[] (именно так, без указания размера). Так что давай свой код.
9 Кб, 439x227
16 Кб, 474x392
#45 #448799
>>448797
https://github.com/nukede/iteration_method
Бля, только не хуесосьте. Проблема в методе isSeriesConveres(). Там переменная summ растет, хотя в конкретно случае должна уменьшаться.
#46 #448800
>>448797

> У меня первокур один такой был


ты че препод тип?
sage #47 #448803
>>448800
Не, в этом году сам только выпускаюсь. Но поскольку я уже работаю в том же универе, попросили студента подучить, чтоб проект один ему передать, который до этого я пилил. Курс погромирования, увы, крайне убогий и бесполезный, формочки мышкой на дельфях и все.
sage #48 #448806
>>448799
Ебушки-воробушки, это ж охуеть можно такую лапшу разбирать.
#49 #448808
>>448806
Ну лучше пока не умею, кхек. Учусь только.
sage #50 #448809
>>448808
Чет я не вижу, где у тебя выводятся эти

>0+0*0=0


и так далее.
#51 #448811
>>448799
Так, блять. Какого хуя ты творишь?
Посмотри на SIM::SetMatrixA() для начала. На цикл, где ты память выделяешь.
#52 #448812
>>448811
А что с ним не так? Надо как-то по-другом память выделять?
#53 #448813
>>448809
Я это 5 минут назад дописал. На github лежит версия, которая работала только в msvs. Просто я решил побрать под gcc и обосрался.
Нет, я понимаю, что я обосрался, как только написал свой первый hello_world и вообще мне в макдак пора, но пока хочется, чтобы программка заработала.
#54 #448815
>>448799

> numberOfVarialbes


> lb


опечатка
#55 #448816
>>448812
for (int count = 0; count < this->numberOfVarialbes; count++)
{ this->matrixA[ count ] = new double[ count ]; }
Ты выделяешь count памяти на каждый массив, а потом работаешь с matrixA, как если бы выделил numberOfVarialbes. И так везде.
#56 #448819
>>448816
А как нужно-то? Туплю, извини.
#57 #448820
>>448819
this->matrixA[ count ] = new double[ this->numberOfVariables ]
Ну или если тебе и не нужно столько памяти, то поправь все места, где ты с массивами работаешь.
#58 #448821
>>448819
new double[ numberOfVarialbes ]
#59 #448823
А лучше вообще выкинуть нахуй сишные массивы и юзать vector или array.
#60 #448826
>>448823
Двачую. Там еще в buildIterativeForm такая же ошибка. Я удивлен, что оно вообще хоть как-то работает.
#61 #448828
>>448823
Да я знаю. Просто изначальный вариант у меня очень годно вписывался в обычные сишные массивы и не хотелось работать с вектором. Плюс я из си пришел, и векторы меня немного смутили.

>>448820
А, блядь, я понял где ошибка.
Я типа создавал массивы
Первый массив - 1 элемент
Второй массив - 2 элемента
etc.
А надо
Первый массив - n элементов
Второй массив - n элементов
sage #62 #448831
Красаучеги, я вот не заметил этот ссаный размер массива массив.
Ну и да, голые массивы выкинь к хуям, используй контейнеры, vector, list, например. Базарю, еще захочешь.
#63 #448833
Лел. Наладил распределение памяти. Все заработало. Удивлен, что это вообще работало, лол. А ведь если бы я не пердолился и под шлинуксом и под Windows, то я б даже и не заметил.

Пока писал эту программу открыл для себя море всяких охуенных вещей.

>>448831

>используй контейнеры, vector, list, например.


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

Мне там кто-то звездочку поставил. Теперь буду его своим говнокодом развлекать. Лол.
sage #64 #448834
>>448833
Мелкомягкий компилятор вообще весьма странно работает с памятью. У него там своя атмосфера.
#65 #448837
>>448834
Хуй знает. Мне мой знакомый, который йоба плюсовый программер, сказал, чтобы я дрочил visual studio. Может стоит подключить GCC к ней?

Хочу в перспективе прикрутить окошечки. Какие GUI будет лучше использовать с точки зрения востребованности, лол? На чем нынче в ынтерпрайзе окошки рисуют?
#67 #448842
>>448841
А как насчет веб-движков? Я вот смотрю и вижу, что у меня дохуя софта использует какой-нибудь вебдвижок - skype, msvs, etc.
sage #68 #448843
>>448837
И где работает твой знакомый?
>>448841
Плюсую.
#69 #448844
>>448842

>C++


>веб


Лучше выбери что-нибудь одно.
#70 #448846
>>448837
Попробуй clang, они вроде уже выкатили поддержку.

По IDE - либо студия, либо vim, лол. Под пердоликс не видел требований конкретной ide.

Про особенности работы с памятью в студии - есть debug new, есть обнуление выделяемой памяти по new[], что не оговорено стандартом.
#71 #448847
>>448844
Или ты имел в виду просто контент в десктоп-приложении отобразить? Ну гугл говорит, есть такая хуйня: http://doc.qt.io/qt-5/qtwebview-index.html
#72 #448848
>>448846
code::blocks еще вполне юзабельно.
#73 #448849
>>448846
Блин, GUI, а не IDE. Жопой прочитал.
Qt учи. Там свой ламповый с++
#74 #448850
>>448847
Хотя блять, это же только на мобилах. Тогда хуй знает, я сам QT не юзал.
#75 #448851
>>448848
Кодблокс, силайон, нетбинс, qt ide. Много их. Но студию требуют из-за mfc/atl/wtl. На пердоликсе таких требований нет.
#76 #448852
>>448843
Не буду писать. Он тут где-то сидит. Тут и познакомились. Да и он во мне разочаровался, хмык.

>>448844
А чем плохо? Сверстал заебатый интерфейс на html/css/js и прикрутил к программке. Любая веб-макака разберется. Просто сколько я не видел QT приложений средней руки везде очень косячно реализован этот QT интерфейс. Вот, вроде бы, все работает, но как-то не так. Подобное ощущение было с Anki. Не знаю, как у них там сейчас.

>>448848
Он, совместно с gcc, помог найти мне ошибку с выделением памяти.

>>448849
Ну окей. QT, так QT. Хотя может ещё чего-нибудь посмотрю.
sage #77 #448853
Пишите блять правильно, заебали. Qt.

>Qt


>Qt


>Qt


>Qt


>Qt


>Qt


>Qt


QT - это QuickTime, плеер такой. Пидоры.
#78 #448855
>>448853
Кого ебет-то? Правильно, только тебя.

>QT


>QT


>QT


>QT

244 Кб, 1570x919
sage #79 #448857
>>448852

>очень косячно реализован


Ну хуй знает, у меня все нормально. Тебе какие-то парашные приложения попадались.
Алсо,

>Не буду писать.


Вот и не пизди тогда. Я на словах тоже супермен.
173 Кб, 559x800
sage #80 #448858
>>448855
Мать твою в жопу хач ебет, гнида.
#81 #448859
>>448857

>Я на словах тоже супермен.


Ну он не давал свое согласие на распространение данных на сосаче. В любом случае, этому человеку я очень благодарен, а то я бы сейчас сидел бы и клепал формочки для сайтов.
#82 #448860
>>448858
Что-то ты злой. Не выспался? В говно на улице наступил? Не горюй, все наладится.
sage #83 #448863
>>448860
Ну блять, неужели нельзя писать правильно? Коробит, вот и злой. Нигде блять QT не пишут, везде Qt, нет, будет писать неправильно.
#84 #448873
>>448837
Пробуй GCC.
Как IDE можешь взять CodeBlocks.
Очень удобно для кроссплатформы.
На работке, как раз, хуярю мелкие модули, для к-х необходима работа на маке, лине и шинде.
Даже достаточно копирнуть папку с проектом, чтобы сразу приступить к работе на другой ОС.

Ну и мелких компиль достаточно неприятная вещь, когда пишешь код под несколько ОС.
Доводилось портировать код из студии, жопа горела только так, особенно от рандомных segm fault, ибо накосячено, но компиль сжевал.
Хотя студия охуенная IDE, правда жрёт не в меру, да падает.
#85 #448874
>>448873

>портировать код из студии


Кек. Same shit. Пока переписывал тот калькулятор с поддержкой классов и вообще все по уму - копировал некоторые части. Блядь, не важно зачем. Студия выдавала просто тонны ошибок, которые хуй поймешь, как фиксить. Но лечились они тупо переписыванием того же кода от руки. Пиздос.

Олсо, ещё раз про горшки из прошлого треда. Я тут гуглил за архитектуру приложений и нашел линк -http://www.cplusplus.com/articles/48TbqMoL/

Стоит ли пилить подобное, а потом все остальные части тупо подгружать всякими .dll файлами?
sage #86 #448875
>>448874
Только если знаешь, что делаешь и зачем это надо. Не стоит.
#87 #448877
>>448875

>что делаешь


Имею слабое представление, как работают библиотеки.

>зачем это надо.


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

Олсо, пока идей практически нет. Планирую, как и с этим какульятором - тупо реализовывать частями, а там уж, как получится.
Сначала запилю/найду обертку для SQLite и JSON парсер, потом надо придумать как выполнять задачи в определенные моменты времени. Типа, как cron, но только своими руками, что ли. По этому вопрос я вообще ничего не гуглил. Ну и язык садоводов запилить. Он должен быть простым, но очень описательным.
#88 #448878
>>448874
Только если нужно подключать программу, как ПЛАГИН.
На работке кроссплатформенный ядро, к к-му уже подключаются платформозависимые плагины. Что dll, что остальные.
#89 #448881
>>448878
О, вот это вообще тема была бы. Но мне кажется дохуя сложно и сначала надо логику приложения проработать, а то на деле нихуя нет, язык знаю на уровне /память брызжет из всех дыр/, а амбицией дохуя.
sage #90 #448885
Пиздец. Плагин нужен, когда ты заранее не знаешь, какие еще возможности прикрутишь к своему велосипеду, либо когда возлагаешь часть обязанностей на сторонних разработчиков (пример - всякие плагины для IDE).
Вынесение части приложения в библиотеку нужно тогда, когда там есть функции, которые будут использоваться плагинами.
Все. Просто так, для логического разбиения одного проекта плагины/библиотеки не используются. Это бред и лишнее переусложнение. Раскидывай сырцы по подпапкам и будет тебе логическое разделение, а плагины совсем не для этого. Подразумевается, что без плагина твое подели будет работать так же, как и с ним, только какой-то определенной свистоперделки не будет.
#91 #448887
>>448885
Не ругайся, ну.
У меня сейчас пока нет никаких идей, как организовать структуру проекта. Поэтому я перебираю возможности.
sage #92 #448890
>>448887
src
src/database
src/core
src/gui
src/gui/dialogs
Идея понятна?
sage #93 #448893
>>448890
Нахуй иди, выблядок.
sage #94 #448899
>>448893
Дед твой выблядок.
#95 #448902
>>448890
Я сейчас за организацию классов. Куда какие пихать и какой функционал им давать. Впрочем, от твоего поста пару идей появилось.
Наверное, надо тупо садиться и пилить.
sage #96 #448905
>>448902

>организацию классов


А какое отношение имеют плагины и библиотеки к организации классов?

>Наверное, надо тупо садиться и пилить.


Неужели хоть до кого-то дошло.
#97 #448908
>>448885
Ещё можно в статические либы выносить функционал для ускорения сборки и модульного тестирования.
#98 #448911
>>448905

>А какое отношение имеют плагины и библиотеки к организации классов?


Без понятия. Мне в прошлом треде сказали, что я пилю God Object и послали додумывать. Поэтому додумываю гугля "application C++, applicatcion arhitecture".

>Неужели хоть до кого-то дошло.


Ну вот некоторое время назад я запилил программку, которая общается с другой через сокеты виндовые. Это тоже включу в проект. Сегодня вот эту лапшу, которая считает корни СЛАУ. На пути к успеху.
sage #99 #448914
>>448911
Неправильно гуглишь. Лучше что-то вроде "c++ class hierarchy", "c++ project structure".
Молодец.
sage #100 #448949
>>448914
Маме привет.
sage #101 #448951
>>448949
Обязательно передам твоей маме привет, как раз ебу ее сегодня.
#102 #448954
>>448951
Ебешь собственную мамашу, чулочник-с-сажей?
19 Кб, 498x487
#103 #448995
писал в рошлем треде помочь исправить ошибки, позже понял что тема гораздно глубже и обрней, так вот:
Есть код на ассемблере вырванный с помощью ollydbg , нужно перепилить его под gcc. Я пытался осилить несколько статей, они дают очень много инфы которую мой мозг не может осилить, запилите пожалуйста короткий гайдец по быстрому переводу а-ля PUSH EAX -> pushl %eax если я правильно понял
#104 #449020
>>448995
Палю годноту, раз ты не в состоянии прочитать мануал и написать сам:
1) Канпелируешь интеловый код.
2) objdump -D
Алсо, тебе сюда >>447420
sage #105 #449021
>>448954
Твою, хуеглотик. :3
#106 #449023
>>449020
я наврно слишком тупой чтобы понять что ты имеешь ввиду. Если можно, еще раз для дебилов пожалуйста
#107 #449025
>>449023
точнее, я не понимаю что конкретно нужно. Вставить в с++ билдер код ассемблера, скомпилить-????.
Или просто скомпилить проект с меткой objdump -D
#108 #449069
Расскажите про работу с сетью в крестах. Есть какие-то стандартные средства/библиотеки для этого? В гугле все примеры разные, один охуительней другого.
#109 #449076
>>448828
Вот поэтому новичкам рекомендуется использовать std::vector и try-catch хотя бы в int main() {}. Сразу словишь out_of_range exception.

int main()
try {
\t//...
\treturn 0;
}
catch (exception& e) {
\tcerr << "error: " << e.what() << '\n';
\treturn 1;
}
catch (...) {
\tcerr << "Oops: unknown exception!\n";
\treturn 2;
}

catch (exception& e) -- это ловит out_of_range и runtime_error. catch (...) -- это ловит всё остальное, кроме аппаратных ошибок. Деление на ноль считается аппаратной ошибкой в C++ , поэтому за делением на ноль придётся следить только самому.
#110 #449078
>>448828 >>449076

Блядский потрох, табы распознать не может. Fix с помощью alt + 255 четыре раза.

int main()
try {
//...
return 0;
}
catch (exception& e) {
cerr << "error: " << e.what() << '\n';
return 1;
}
catch (...) {
cerr << "Oops: unknown exception!\n";
return 2;
}
sage #111 #449089
sage #112 #449091
#113 #449123
У меня будет очень тупой вопрос, но мне - честно - влом его гуглить, потому что вопрос я задаю из праздного любопытства, а не из-за того, что laba2 горит. shift + 8 обозначу за @, потому что макаба. Можно ли объявить массив

>unsigned int rows = 12; //for example


>int@@ m2 = (int@@)std::malloc(rows @ sizeof(int@));



А дальше напихать в него rows штук строк разной длины? Ну так, прост))
#114 #449128
>>449123

> 2015


> объявить массив


> malloc

#115 #449129
>>449128

> 2014


> богомерзкие кресты


> не православный си

#116 #449131
>>449123
Можно.
sage #117 #449135
>>449123
Можно тебе хуев в рот напихать, долбоеб.
#118 #449136
вобщем нужнов процессе выделить память и записать в него свою функцию, делаю это по статье, в оной используется с++ билдер. Как реализовать это на gcc ?

HANDLE hProcThread;
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, false, PID);

void ta = (void)VirtualAllocEx(hProcess, NULL, 255, MEM_COMMIT, PAGE_READWRITE);
WriteProcessMemory(hProcess, ta, func, 250, NULL);
void pp = (void)VirtualAllocEx(hProcess, NULL, 255, MEM_COMMIT, PAGE_READWRITE);
WriteProcessMemory(hProcess, pp, params, 250, NULL);

hProcThread = CreateRemoteThread(hProcess, NULL, NULL, (LPTHREAD_START_ROUTINE)ta, pp, NULL, NULL);
Собственно код. Создается два указателя на выдеенную память в процессе, мы записываем в первый - указатель на функцию, во 2 - указатель на переменные для функции, потом создаем поток выполнрения.
Проблема состоит в том, что указатель на функцию выглядит как (void)(), при этом VirutalAllocEx не может выделить память под ТАКОЙ указатель, а также для создания потока тоже требуется указатель типа void. Как это реализовать ? Первые несколько советов из гугла по запиливанию каста (void)() to (void) приводят к ошибке компиляции. Кто сталкивался? Как справляться с этим.
п.с. в фунцкции создания потока требуется на (void) а LPTHREAD_START_ROUTINE , при этом к этому типу спокойно приводится сам void.
#119 #449145
>>449131
Спасибо.

>>449135
Это безусловно.
sage #120 #449197
>>449136
Где статья? Где код нормальный (хинт: pastebin/ideone)?
#121 #449204
>>449197
статья - с жука по инъекции кода в ммо гаму.
кода там много не нужно там пара команд
я же описал проблему: мне нужно зарезервировать в процессе участок памяти, скопировать туда функцию на ассеблере и заэкзекутить. Я показал решение описанное в одной годной статье, но она на с++ билдер. В gcc я столкнулся с проблемой - указатель на функцию не имеет вид void*, как это собственно обойти ?
#122 #449221
>>449204
Конвертируй через union. Чтобы запустить код в памяти, надо еще поставить разрешение через VirtualProtectEx
sage #123 #449222
>>449204
Ссылку давай.
Если ты не заметил, то в том куске кода, что ты скинул, напрочь проебана разметка. Залей его на pastebin.

>указатель на функцию не имеет вид void*


Чет я не понял тебя. Привести указатель к нужному типу, не?
#124 #449269
Поможет кто перевести на с++?
http://ideone.com/nPPN0P
sage #125 #449271
>>449269
Да не вопрос http://ideone.com/GM3SAO
#126 #449302
>>449222
ладн, ща все оформлю как стоило бы.

Я пытаюсь играть с памятью процессов, данные как бы считыват ья научился, следующий этап - иньектирование функций. Учу я это на примере вовчика 3.3.5. Я выдераю нужную функцию из ollydbg, реализую ее как асм вставку в с++ коде. Потом открываю процесс игры - выделяю себе память, копирую в эту память функцию и параметры, потом запускаю поток выполнения функций по указателям. Все бы ничего только указатели на функцию и void - разные вещи. Посему функция выделения памяти в процессе требует void, создание потока требует тип LPTHREAD_START_ROUTINE, однако тип void легко преобрзауется к этмоу типу. А сама функция - точнее указатель на нее - (void)(). Ошибка компиляции итдитп ЧЯДНТ?
http://pastebin.com/B9kAEJgE
#127 #449303
>>449302
http://zhyk.ru/forum/showthread.php?t=207760
http://zhyk.ru/forum/showthread.php?t=414162
Да, те треды. На с++билдер и делфи все вроде преобразуется гладко
#128 #449306
>>449302
Какая ошибка-то? Скопипасти, блять. У меня gcc конструкцию http://pastebin.com/LfEr0dFQ отлично компилирует.
#129 #449314
>>449306
Не поверишь,
void params_2 = (void)(&SimpleVoidF); - работает с предупреждением, а как у тебя скомпилило
void params_1 = (void)SimpleVoidF; понятия не имею
Спасибо уж, не думал что я настолько криворук
#130 #449315
>>449314
Название функции без скобок - уже можно приводить к указателю, & конечно там нахуй не нужен.
#131 #449317
>>449315
target.cpp:105: error: invalid use of member (did you forget the '&' ?)
void func = (void)SimpleVoidF;
^
мда.
#132 #449318
>>449317
SimpleVoidF - это что за функция? Где объявлено и как?
#133 #449319
>>449318
void TARGET::SimpleVoidF(){}
#134 #449320
>>449319
Тогда надо &, да. Если внутри класса указатель на его же функцию берешь.
#135 #449321
>>449320
И функция не статическая.
#136 #449322
>>449321
>>449320
мы только учимся
на самом деле я этого не знал
даже записал себе, лол
#137 #449325
вобщем, пока такие дела если мне пишет - саксесфули инджектет e.g. дескриптор hProcThread не нулевой - значит все пашет?
http://pastebin.com/n4iHaM1B
#138 #450109
Да вы и мамку свою потопите, суки. Бамп!
#139 #450229
arithmetic if может быть вложенным? Т.е. один внутри другого.
sage #140 #450257
>>450229
Если ты имеешь в виду ? : то да.
70 Кб, 576x960
Аноним #141 #450283
>>448467
Через цикл с условиями, в приклейтед пример работы наполнения массива и вывода
#142 #450284
>>448467
array.sorted
#143 #450294
>>450257
Зачем тогда if else нужны вообще, кроме многократной вложенности. Взял зафигачил в одну строчку три возможных условия.
#144 #450297
>>450294
Т.е. я хотел сказать, что если всегда есть арифметическое действие как для if, так и для else, не лучше ли arithmetic if фигачить в таком случае.
sage #145 #450298
>>450283

>#include <conio.h>


Как там в 98?
sage #146 #450301
>>450297
Не лучше. Получается нечитаемая дрисня вместо кода, если действия достаточно длинные, типа
(a == b && c == d) ? longObjectName->someShit(shittyArgument)->pssssss(a, b, c, d, e, f, yourMum) : fuckingYourMum(Mum::Ass | Mum::Vagina).cumOnFace(2);
Это не говоря уже о том, что два действия ты в одну ветку не запихнешь, и действия с разным типом возвращаемого значения тоже.
#147 #450303
>>450301
Я про в случае абсолютно одинакового действия и абсолютно одинакового типа.

Просто или писать отдельную функцию на экран с ветвлениями, или три строчки по три вложенных арифметических ифа с комментариями. Никаких вызовов функций, ничего.
sage #148 #450305
>>450303
Ну тогда можно и так, но считается, что это менее наглядно (когда бегло просматриваешь код). Хотя я, бывает, сам использую, чтобы не раздувать код почем зря.
#149 #450311
>>450305
Всё-таки сделаю в три строчки.
#150 #450335
#include <iostream>
#include <cmath>
using namespace std;
int f1(int i) {
i=2;
return i;
}
int main () {
int i =1;
f1(i);
int f1_result = f1 (i);
cout<<i<<endl;
return 0;
}
Не работали глобальные переменные, решил проверить на тривиальном примере, всё равно не пашет.
подскажите плз (ответ кстати от наличия int f1_result = f1 (i ); не зависит), только начал учить программирование
#151 #450336
>>450335

>Не работали глобальные переменные


Но тут нет ни одной глобальной переменной.
sage #152 #450338
>>450335
В чем проблема то?
#153 #450339
>>450336
То есть её нужно прописать до int main? Ок, щас попробую.
#154 #450340
>>450338
На экран выводит "1", а не "2", то есть функция не возвращает значение аргумента.
#155 #450342
>>450339
Лол.
ГЛОБАЛЬНАЯ = переменная определенная глобально, т.е. ты можешь получить доступ к ней из любой части программы.
Переменная, объявленная в теле функции, считается локальной.

>>450340
Ну так ты посмотри на код внимательно.
1. Определяешь переменную i = 1.
2. Определяешь переменную f1_result.
3. Передаешь в качестве параметра в функцию f перменную i.
4. ВЫВОДИШЬ ПЕРЕМЕННУЮ I.

Если ты хочешь модифицировать переменную i, то либо объяви её глобально, либо передай на неё указатель.
176 Кб, 1366x768
#156 #450344
>>450336
>>450338
добавил глобальную
вопрос в том, почему функция не возвращает новое значение i
да, я не понимаю очевидных вещей, поэтому и сижу в этом треде
#158 #450350
>>450344
Да, забыл прокомментировать. Ты пишешь
f1(int i) -- это ты объявил ЛОКАЛЬНУЮ переменную внутри функции i. И ты её возвращаешь.
#159 #450352
>>450345
Спасибо огромное
>>450350
понял, спасибо
sage #160 #450353
Ты передаешь переменную по значению, а не по ссылке, потому она и не меняется. Внутри функции у тебя создается копия i. Глобальность тебе не поможет никак, потому что i внутри функции перекрывает внешнюю i.
Как же вы заебали, читайте книжки.
#161 #450354
>>450353
Поддвачну этого сажееба. В книжках обычно есть целая куча показательных примеров. Если этого не хватило - интернет в помощь.

В каждом тредике раз за разом спрашивают какой-то треш, который на первых 10 страницах в любом учебнике написано.

Куда интересней обсуждать какие-то ошибки. Да.

>>448799 -мимо обосравшийся.
Уже два фоловера, лол.
#162 #450443
Какого блядь хера std::type_info некопируемый? Зачем, а главное, нахуя это сделали? T_T
#163 #450447
>>450443
В глаза ебешься?
"See type_index for a wrapper class that adapts type_info values to make them copyable and indexable with standard hash values."
#164 #450452
>>450447
Yob tvoyu za nogu, спасибо!
А то я уж начал писать свой обёрточный класс.
2 Кб, 1042x61
#165 #450467
пикрелейтед после вставки в qt пастрелейтед, что не так ?
http://pastebin.com/vb73aktN
#166 #450484
Есть
struct Polygon
{
vector<Point> points;
...
};

Как проще всего сделать так, чтобы у меня появился конструктор, который мог принимать бы в качестве параметров произвольное количество точек?
Думал про variadic function, но там, как я понимаю, не обойтись без передачи еще и количества точек в конструктор, а без этого можно как-нибудь сделать?
#167 #450501
>>450484
Передавай вектор точек.
#168 #450504
>>448310
Крестопетухи должны страдать.
#169 #450505
>>450484
Еще std::initializer_list посмотри.
sage #170 #450538
>>450467
Скорее всего какие-то флаги надо передать компилятору. Смотри тут: https://2ch.hk/pr/res/441690.html#448305
#171 #450592
>>450501
Ну да, конструктор есть, но каждый раз писать vector <Point> .. это же убого как-то
>>450505
Добра тебе
g++ 4.6.3 #172 #450604
Если добавить в команду сборки -std=c++0x я могу точно сказать что я программирую на с++ 11-й версии? Или 14-й... Как 14-ю включить?
3633 Кб, 600x374
#173 #450624
Антон, с чего начать работу с графикой? Основы знаю, в ООП могу, но не знаю как делать не-консольные программки
#174 #450627
>>450624
Вау. gif-ка 10/10.

Qt
GTKmm
wxWidgets
FLTK
...
#175 #450632
>>450538
если я все правильно понимаю, %0 - первая переданная после : переменная, %1 - 2я ?
sage #176 #450634
Я считаю, что объединенный для C и C++ тред не нужен. Я программист на C++, мне на C похуй.
#177 #450637
>>450604
-std=c++11 для 11
-std=c++14 для 14
Но вроде в gcc 14 пока нет, а в clang - есть, но со стандартной библиотекой от gcc не работает, так что у меня 14 работает только через кланг -std=c++11 -stdlib=libc++
sage #178 #450654
>>450637

>в gcc 14 пока нет


Есть, и уже довольно давно.
>>450632
Вроде да.
>>450627

>Qt


>GTKmm


>wxWidgets


>FLTK


Починил тебя.
#179 #450655
Есть какие-нибудь простенькие фреймворки для создания простого gui? Тяжеловесное говно qt с шестью виртуал поинтерами в QVariant не заезжает
нано-оптимизация #180 #450659
switch(arr [ i ] )
{
case 1: //lala
case 2: //lalala
case 3: //ololo
default: //something
}

Свитч от i-того элемента массива. Стоит завести отдельную переменную int temp = i-тый элемент массива или нет? Важна скорость.

Данный свитч находится в цикле порядка миллиона раз.
#181 #450660
>>450655
Winapi
g++ 4.6.3 #182 #450661
>>450637
если пишу -std=c++11 ругается на неизвестную команду.
если -std=c++0x то сам не понимаю что значит "0x"
#183 #450662
>>450659
Если эта переменная не изменяется в кейсах, то компилятор все сам сделает
#184 #450663
>>450661
Обнови до 4.7.*
#185 #450666
>>450662
О заебись, умный какой конпелятор. Спасибо.
#186 #450670
>>450662
Усложним вопрос.

switch(abs(arr [ i ] ))
{
case 1: //lala
case 2: //lalala
case 3: //ololo
default: //something
}

Свитч от модуля i-того элемента массива. Стоит завести отдельную переменную int temp = abs( i-тый элемент массива ) или нет? Важна скорость.

Данный свитч находится в цикле порядка миллиона раз, как и прежде. Никаких дополнительных чтений/изменений к собственно массиву внутри кейсов/дефолта нет.
#187 #450671
>>450660
9смех0
33 Кб, 489x357
sage #188 #450679
>>450670
вопрос уровня С+++++++++++++++++++++++++++++++++==
#189 #450682
>>450670
Аналогично.
Главное, чтобы значение в switch было инвариантом относительно cases
#190 #450690
>>450679
>>450682
Спасибо, я просто реально не понимаю, в какие моменты компилятор способен оптимизировать, а в какие нет. Какие вещи формально просто задать, а какие нет.

Какой код из условий, например, компилятор догадается может соптимизировать до уровня свитчей, или это принципиально первышает полномочия оптимизации.
sage #191 #450750
Хочу выделенные строки CheckListBox1 добавить в Edit1, для дальнейшего создания sql запроса, проблема в том что на "s+=CheckListBox1->Items;" вылетает ошибка
[E2094 'operator+=' not implemented in type 'AnsiString' for arguments of type 'TStrings'

void __fastcall TForm4::Button2Click(TObject *Sender)
{
int i;
AnsiString s;

{
s="Select";
for (i=0;i<CheckListBox1->Count-1;i++)
{
if (CheckListBox1->Checked)

s+=CheckListBox1->Items;

Edit1->Text=s;
}
}
}
sage #192 #450752
>>450750
Пошел на хуй, спепмоклоун. Потрудись хотя бы включить мозг и изучить основы языка.
sage #193 #450753
>>450752

>спермоклоун

sage #194 #450754
>>450655
Винапи уже советовали? Еще рекомендую посмотреть в сторону ассемблерных вставок - очень легковесно, самое то для школооптимизатора.
sage #195 #450758
>>450752
Не туда видимо попал, спасибо за понимание, и вам всего хорошего
#196 #450804
>>450752
Почему ты так ненавидишь окна?
8 Кб, 249x196
#197 #450810
Обьясните нафане, почему в нулевом элементе массива n, не единица?
#198 #450811
>>450484
Полигон это 3 точки. 4 это квад, 2 это линия. Нахуя тебе vector вообще? Используй std::array.
#199 #450812
>>450634
Поссал на хуесоса.
#200 #450813
>>450690
Компилято способен оптимизировать все rvalue, так что всякие нанооптимизации вроде вынести переменную - бред сивой кобылы. Оптимизируй алгоритмы и пиши грамотный код, а не занимайся всякой херней.
#201 #450814
>>450654

>Есть, и уже довольно давно.


Аж с декабря прошлого года в dev-версии.
#202 #450815
>>450810
ггли endianness
#203 #450817
>>450655
JavaFX
#204 #450818
>>450815
Спасибо, я то думал, почему 16777216, выводит.
#205 #450819
>>450810
А еще ты забыл сделать memset(v, 0, 12), у тебя куча мусора в массиве.
#206 #450820
>>450819
У меня, видимо по счастливой случайности все байты были по нулям. Но спасибо за совет, приму к сведению.
Аноним #207 #450827
>>450298
Это не трудно объяснить...
Учитель застрял в 98,
если не подключаем <conio.h>
бьет розгами смерти
96 Кб, 1283x398
sage #208 #450833
>>450804
Чувство ненависти мне вообще не знакомо, ты не прав. И до шинды мне дела нет, но вот такие дегенераты как он в подавляющем числе случаев используют шинду. Их лучше в детстве топить. Испытываешь ли ты ненависть к комару, который докучает своим глупым жужжанием в бесплодных попытках тебя укусить? Вряд ли. Ты просто хочешь, чтобы он улетел или перестал жужжать. Проще всего его прихлопнуть для этого, либо прогнать. Против остальных виндузятников ничего не имею.
>>450814
Ну кому ты пиздишь. Пикрелейтед.
#209 #450867
Почему может некорректно работать std::ostream::write ?

std::string filename = "test";
std::basic_ofstream<uint8_t> ost(filename);

Имеется файл, в котором заполнены 54 байта. Я хочу записать ещё 1024 байта, которые выглядят так: 0 0 0 0 1 1 1 0 2 2 2 0 ... 254 254 254 0 255 255 255 0.

Массив uint8_t* вручную проверил с помощью std::cout, он действительно такой.

Что пишется в файл c 54 по 1077 байт (54 + 1024 = 1078), если просмотреть 16-ричным редактором:

http://pastebin.com/5AbSj5fa

И далее идёт нормально до конца вплоть до ff ff ff 00.

P.S. Попробовал писать в новый файл - та же фигня, ошибка именно 0d 0a 0d 0a 0d 0a 00 .
#210 #450874
>>450867
ios_base::binary, дурачок.
#211 #450877
>>450874
И сам догадался. У меня вопрос, почему такая херня творится? 10 символ - это новая строка. Что происходит, оно почему-то пишет 13, а затем новую строку?
#212 #450878
>>450877
Конвертация символа новой строки в универсальный формат (CR+LF).
#213 #450880
>>450878
Спасибо. Хорошо, что на простом примере наебнулся, а то искал бы ошибку в массиве на миллион элементов.

Естественно, буду использовать бинарный режим всегда, когда нужно побитово скопировать.
39 Кб, 696x339
#214 #450883
>>450833

>2015


>4.9, 5 или N/A


Насмешил.
#215 #450892
Блджад, sizeof( wchar_t ) возвращает 4. А какой тогда из char'ов можно для двубайтового юникода использовать?
sage #216 #450903
>>450883
Ты на дату смотри. Кроме одной бесполезной фичи все поддерживается.
#217 #450945
Аноны, как нарисовать блоксхему функции void?
В программе идет ввод данных, а потом переходим в функцию и оттуда программа заканчивается.
#218 #450950
>>450892
dvybaitovyunikod_char_t
sage #219 #450956
>>450945

>блоксхему


Ссать в рот преподу/увольняться из днищеконторы. Других способов нет.
#220 #450958
>>450945

> нарисовать блоксхему


Зашквар такое делать.
#221 #450968
>>450945
Также как и обычной функции.
#222 #450971
>>450945
То есть и в функции и в программе делать "Конец"? Она ничего не возвращает жеж
Или в функции оставить
#223 #450976
Я вам покушать принес: http://blog.gamedeff.com/?p=64

Темы для вопросов на собеседовании на должность C++-программиста:
Всё о наследовании за 3 минуты (зачем нужно, множественное, виртуальное, публичность).
Что такое pure virtual function (зачем надо). «Контракты» в качестве бонуса.
Vtbl, vptr, и прочие детали реализации. Бонус за множественное наследование. Бонус за виртуальное наследование.
Конструкторы, деструкторы, порядок создания и удаления.
Виртуальные функции в конструкторах.
Шаблоны (зачем нужны, что такое специализация, что с производительностью).
Исключения (зачем нужны, производительность, особенности реализации).
new супротив new[] – зачем нужны, особенности реализации.
STL (зачем). Бонус за историческую справку. За 3 минуты о производительности основных типов.
Для любого (вставить «нужное») описать сайд-эффекты, когда не работает и почему. Бонус про «без сайдэффектов».

А вы разбираетесь в C++?
#224 #450988
>>450976
Не, ну а что? Хороший мануал, по которому я готовлюсь.
#225 #451017
Аноны, только начал учить с++. Чем отличаются cin и cout от printf и scanf?
#226 #451019
>>451017
Сорта говна
sage #227 #451026
>>451017
Продолжай учить и поймешь.
#228 #451038
>>450950
Ну бля, нельзя было скзать про char16_t.
#229 #451043

Задание: Передвинуть элементы массива a размерности n таким образом, чтобы элемент с индексом new_0 стал начальным, и вернуть индекс, который получил элемент, бывший начальным.

Пусть массив a[5] = {1,2,3,4,5}
new_ 0 = 2, a[new_0] =3

Как получить массив a = {3,4,5,1,2}?
#230 #451044
И объясните, пожалуйста, что такое невозрастающая пирамида и как проверить массив на наличие таковой.
#231 #451055
>>451044

> невозрастающая пирамида


Если я правильно понимаю это такой массив в котором для каждого i элементы 2i и 2i+1 (если они существуют) меньше либо равны i.
sage #232 #451058
>>451055

>элементы 2i и 2i+1


имелось ввиду "элементы 2i+1 и 2i+2
sage #233 #451071
Лел, мартышкина разметка в очередной раз соснула. Поссал макаке в его хачевский ротешник, псссс.
#234 #451212
Какие опенсорс проекты в порекамендуете к просмтору этим вечером?
#235 #451215
>>451212
сырцы твоей мамаши
#236 #451239
Что изучать - ОпенГЛ или Кьюти? Кто из них для чего предназначен?
sage #237 #451286
>>451239
Первый ебет твою мать в жопу, а второй - в рот. Что тебе больше нравится сам выбирай.
Я хуею уже просто с изобретательности природы: это ж надо ТАКИХ даунов порождать.
#238 #451302
>>451239
вики & гугл из ёр френд

>>451212
ядро разумеется

>>451043
три вращения массива
#239 #451303
Итак вопрос треда
while(true) или for(;;)
#240 #451305
>>451043

> Пусть массив a[5] = {1,2,3,4,5}


В голосяндру мам...
#241 #451318
>>451302

>>три вращения массива



Спасибо, кэп, но я не понимаю, как именно работает rotate(), какие элементы для этого примера где указывать?
#242 #451334
>>451303
loop:
//...
goto loop;
#243 #451376
>>451303
return qapp.exec();
#244 #451380
Привет, программач, я хочу тебе позадавать глупых вопросов.

1) Где лучше располагать объекты по дефолту -- в стэке или в куче? Вообще, как понять, где лучше расположить объект?

2) В MVC пользовательский интерфейс это свойство представления или модели? Если каждой модели нужен свой интерфейс, то как это лучше решить архитектурно?
#245 #451397
>>451303
for (;;)
#246 #451401
>>451303
Однохуйственно.
#247 #451411
>>451380
Пользовательский интерфейс это свойство представления.

> модели нужен свой интерфейс


Все тоже самое. Только под каждую модель получится свой view.
sage #248 #451418
>>451334
насмешил.
А как брякнуться?
#249 #451420
>>451397
Нука пояснил
sage #250 #451425
>>451420
короче жи. это для кодгольфа.
#251 #451427
>>451418
Очевидно, внутри if, который делает goto на пониже.

>>451420
Ну, из нескольких соображений. Во-первых, гуглится, что у for (;;) ассемблерный листинг короче. Во-вторых, есть т.н. правило "по возможности используй for, чтобы к тебе не было дополнительных вопросов". В-третьих, писать короче.
#252 #451430
>>451427
Ну и самое главное забыл, конечно же. Чтобы не получать петушиные кукареканья среды КОНСТАНТ ЭКСПРЕШШЕН ИН КОНДИШЕН
#253 #451431
>>451427
1) Оптимизация уровня /b/. У тебя таких циклов будет максимум по одному в каждом потоке.

2) Это что-то как-то верно, но вопросов не будет, если будут адекватные условия. Выходить из цикла ты, скорее всего, будешь по условию, поэтому лучший выход это while ( !finished ).

3) Это вообще пушка.
#254 #451439
>>451380

>2) В MVC пользовательский интерфейс это свойство представления или модели? Если каждой модели нужен свой интерфейс, то как это лучше решить архитектурно?


пользовательский интерфейс --- это скорее всего View+Control
модель всегда едина
#255 #451444
>>451431

>1) Оптимизация уровня /b/. У тебя таких циклов будет максимум по одному в каждом потоке.


Согласен, но что-то должно перевесить в пользу одного из решений. Т.е. выбрать один раз и делать так всегда.

>>451431

>Выходить из цикла ты, скорее всего, будешь по условию, поэтому лучший выход это while ( !finished ).


Если у меня for(;;) , выходить из цикла я буду с помощью return; подразумевается, что я номрально разбиваю код на функции

>3) Это вообще пушка.


Хуюшка.
#256 #451445
>>451427

>Во-первых, гуглится, что у for (;;) ассемблерный листинг короче


омг, что за компилятор?
sage #257 #451455
>>451427

> Очевидно, внутри if, который делает goto на пониже.


два гото круче одного
#258 #451472
>>451455
ну или if на return;
#259 #451476
>>451427
>>451472
Костыляторы.

bool repeat = true;
loop:
...
if (repeat) goto loop;
sage #260 #451553
>>451476
какой превосходный солюшен
не хотите сменить работу?
#261 #451573
Блять, сейчас закидаете тухлыми яйцами, но понять же мне надо. Что делать, если я хочу в QT сделать свою функцию? Мне новый фал создавать, дописывать в main.cpp или в mainwindow.cpp?
sage #264 #451577
tfw no qt 3.14 gf
#265 #451579
Ребят, херня с tcc, написал dll на фасме скомпилил, линкую с кодом на С - не линкуется. Херня думаю, мож я не долбоёб, компилирую пример "tcc.exe tcc\examples\dll.c -shared", всё пучком, кладу dll в папку с клиентом, компилирую пример клиента "tcc.exe tcc\examples\hello_dll.c -Ldll.dll" и внезапно получаю хуём по губе от тцц, мол символ 'HelloWord' не найден, я охуел когда не нашёл в гугле и на оф.сайте просветления, пробовал след. варианты:
"tcc.exe tcc\examples\hello_dll.c -LC:\tcc\examples -ldll.dll"
"tcc.exe tcc\examples\hello_dll.c -L'C:\tcc\examples' -ldll.dll"
"tcc.exe tcc\examples\hello_dll.c -LC:\tcc\examples -ldll"
"tcc.exe tcc\examples\hello_dll.c -Ldll"
И получаю одно и то же - либо -ldll не найден либо символ 'HelloWorld'.

Как правильно сделать ЭТО?
#266 #451587
>>451579

> dll на фасме


Натрави на нее tiny_impdef или сам напиши .def-файл. А .def-файл можно либо напрямую линковать (tcc whatever dll.def), либо уже -ldll, если оно в libpath. Алсо, про mangling не забывай.
#267 #451590
>>451573
Где хочешь. Лучше всего в том файле где используешь, или отдельном.
#268 #451593
>>451590
Я правильно понял, что main.cpp занимается только созданием окошек и прочее, а свою функцию надо в mainwindow.cpp писать, предварительно продекларировав ее в заголовке?
#269 #451601
Легковесный, кроссплатформенный надо Windows/Linux, на OS X пока похуй и невырвиглазный гуй существует в природе? Нужен минимум - окошки, модальные диалоги, кнопочки, поля ввода. Алсо, если придется зашквариться Qt, на нем возможно полноценно писать без Qt Creator?
#270 #451612
>>451601
А чем тебе Кьют не Кьют? Собирай статически, особо много лишнего тащить нужно не будет.

И да, на нем можно спокойно писать откуда угодно, Криэйтор это ж IDE. Но из-под него дико удобно, потому что мэйкфайлы сам делает, дизайнер в комплекте, справка в комплекте (а она у Кьюта шикарная), и вся хурма.
#271 #451618
>>451587
Что то не похоже на правильное решение проблемы, а я бы сказал выглядит как костыль.
#272 #451637
>>451618
Почему костыль? Создавать таблицу импорта для PE можно разными способами: "большие" компиляторы (студия, гцц) при сборке DLL генерируют .lib-файлы, содержащие готовые куски таблицы импортов. Эти .lib-файлы ты указывешь при линковке своей программы, а линкер с помощью особой линкерной магии объединяет куски таблиц импортов из .lib-файлов в нужном порядке в одну секцию (импорты в PE под это и затачивались, кстати). Выглядит, как костыль, правда? Алсо, tcc, возможно, поддерживает такие файлы (их обработка ничем не отличается от обработки обычных статических либ, кроме, разве что, прописывания RVA и размера секции импорта в data directory).
Но если не нужны всякие advanced-фичи, можно генерировать таблицу импортов при линковке. Так делают тот же фасм и tcc. Для этого нужен только список функций (символов) и имя DLL. Все это есть в .def файлах. tcc при сборке DLL генерирует, собственно, .dll и соответствующий .def. Для случаев, если .def нет по каким-то причинам (например, .dll собрана не в GCC, как у тебя), в поставку входит tiny_impdef, который перечисляет экспорты указанной .dll и создает .def.
Алсо, я не совсем понимаю, что ты и где гуглил, если пример сборки использования .dll в tcc есть прямо в tcc-win32.txt в дистрибутиве.
Алсо, если тебя что-то не устраивает, можешь просто не использовать встроенный линкер tcc и взять ld, MS link или еще что-нибудь.
251 Кб, 992x936
#273 #451965
Есть ли картинка/пдфка с временной сложностью операций контейнеров STL? %Собранное в одном месте%
#275 #452012
>>451977
Благодарю.
#276 #452013
>>451637
К сожалению ты много магии описал. Есть нечто более конкретное? Например "иди нахуй" или "напиши в консоли то-то и то-то получиш результат".
#277 #452067
>>452013

> более конкретное


tiny_impdef твоядлл.dll -o твойдлл.def
tcc исходник.c твоядлл.def или tcc исходник.c -Lпутькдеф -lтвоядлл
#278 #452105
Я в печали, братаны.
У меня нет работы...
#279 #452114
>>451593

>Я правильно понял, что main.cpp занимается только созданием окошек и прочее


нет, неправильно. во-первых это обычно плюсы (пусть с moc-костылями, но всё же), во-вторых Qt абсолютно не навязывает. если ты новичек в плюсах, то стартовать с кути не стоит, серьезно. продрочи консольку основательно

>а свою функцию надо в mainwindow.cpp писать, предварительно продекларировав ее в заголовке?


короче говоря, если у тебя функция относится к классу, то ее нужно объявлять в классе

>>451601

>писать без Qt Creator


можно писать хоть в виме, это же библиотека
#280 #452135
Скажи, плюсач. Вот есть такая вот конструкция:

std::unique_ptr< QApplication > utv_app{ new QApplication{ argument_count, arguments } };

Можно ли ее как-нибудь упростить, убрав new? Насколько я помню, списки инициализации как раз ради это отчасти делались.
#281 #452152
>>452135
Нужно добавить в unique_ptr конструктор принимающий список инициализации.
611 Кб, 1000x695
#282 #452209
>>452067
О великий! Благодарю.
#283 #452222
>>452135
Ну, можно наверное сделать аналог make_shared только для unique_ptr.
мимо с дивана
#284 #452225
>>452222
http://en.cppreference.com/w/cpp/memory/unique_ptr/make_unique
оказывается оно уже есть, епту

auto utv_app = make_unique<QApplication>( argument_count, arguments );
659 Кб, Webm
sage #285 #452281
Qt-тред скорее мертв, чем жив, спрошу тут.
Че с этим обоссанным ычаном не так? Хули он не вайпается. http://pastebin.com/mDWKJy5u
Wireshark'ом посниффил, все хедеры заданы, все куски формы тоже. Файл прикреплен, капча решена (спасибо анону, который распознавалку на жабе запилил). Хули они, блять.
sage #286 #452305
>>452281
Какой же я даун, обосрался вот тут, коммент забыл убрать. QHttpMultiPart *mp = new QHttpMultiPart;//(QHttpMultiPart::FormDataType);
Кидайте свои ссаные тряпки мне в рожу.
#287 #452392
>>452305
Кинул ссаной тряпкой в шизика
для профилактики
#288 #452599
Господа, нид хелп. Где найти норм туторы по с++&&OpenGL&&linux?
sage #289 #452601
#290 #452602
>>452599
Есть такой сайт, гуглом называеться.
#292 #452608
>>452606
Спасибо большое.Спокойной ночи
#295 #452679
Добрый день. Как можно реализовать побитовую запись в файл? Задача по переводу UTF-8 в код Фибоначчи и обратно, не знаю, как Фибоначчи писать. Думаю в массиве байт биты хранить и потом в конечный массив используя побитовые сдвиги записывать, но выходит оче запутанно и непонятно, как между фрагментами связь поддерживать записал я 19 бит, массив под биты кончился, остались 3, не внесенные в массив для записи, что с ними делать?. Спасибо.
#296 #452693
Как в if в оператор записать несколько условий?
Грубо говоря, if (r4 = 11..19). Т.е. если r4 принимает значения в промежутке от 11 до 19. Как записать этот промежуток синтаксически правильно?
#297 #452700
>>452679
Записывай биты в байт любым удобным способом, затем записывай полученный байт в файл и в самом конце одним байтом запиши количество лишних бит в последнем записанном байте для корректного чтения бит. Возможно проще реализовать битовыми полями, но я их ниразу не юзал.
#298 #452701
>>452693
if((r4 < 19) ? ((r4 > 11) ? TRUE : FALSE):FALSE)
#299 #452712
>>452701
Проиграл.
#300 #452713
>>443920

>(num >= 0) && (fractional == 0.0))


>сравнивать число с плавающей точкой прямым сравнением


Поссал на дебила.
sage #301 #452718
>>452693
Тот петросян выше почи прав.
if (r4 >= 11 && r4 <= 19) ;
#302 #452771
>>452713
Аргументы будут или ты просто повыебываться решил?
#304 #452798
>>452778
Обоссал дебила с шаблонным мышлением. Флоаты, установленные присваиванием, вполне можно сравнивать.
Если, например if ( a > 1.0f ) a = 1.0f, то потом можно if ( a == 1.0f ).
sage #305 #452800
>>452798
Только вот в том примере такого нет, поэтому ты идешь на хуй.
#306 #452801
>>452800
Ты совсем дебил чтоле?
sage #307 #452810
>>452801
Нет, это ты дебил. У него num - аргумент функции, а не константа. Неизвестно, чему эта переменная равна и как было получено ее значение. И из этой переменной num мы получаем дробную часть, которая, таким образом, тоже неизвестно чему будет равна.
#308 #452815
>>452800
Ты ведь не про пример это запостил. У тебя просто сработало утиное "низя!" на сравнение флоатов. Если бы goto в коде увидел, вообще взорвался бы.
sage #309 #452836
>>452815
Анон (>>452713) правильно указал на ошибку. Петух закукарекал об аргументах. Я это увидел и запостил ссылку на аргументы. Еще вопросы будут?
#310 #452925
Анончики, помогите.
http://pastebin.com/kGcVFZ6p
Почему после ввода длины строки программа не дает мне вводить саму строку?
Если ставить фиксированную длину строки, то такой проблемы нет.
#311 #452930
>>452925
У тебя в входном буфере остается '\n' от предыдущего ввода, getline его читает и останавливается. Перед cin.getline(s, N); добавь cin.get();
#312 #452949
>>452930
Спасибо, анон.
#313 #452964
>>452836
Если бы ты вдался в контекст, в котором это сравнение используется, то понял бы что ты мудила тот еще. Числа вводятся с клавиатуры и нужно было проверить целое число введено или дробное. Но нет, надо сразу обоссать и выебываться как петух перед курицами. Нахуй послан, мамка обоссана.
#314 #452969
>>452925
Еще один вопрос появился, как сравнивать кириллицу?
Нужно узнать сколько слов содержит букву, с латиницей все работает, а кириллицу не воспринимает.
sage #315 #452970
>>452964

>Числа вводятся с клавиатуры


Чет не нашел этого в коде. сдается мне, ты собственную мамашу обоссал.
#316 #452976
>>452970
А даже если не с клавиатуры. то что? Если сравнивать с дельтой, они от этого целыми станут? Да нихуя подобного. Дробное значит дробное, целое — значить дробная часть РАВНА нулю.
И да, когда я писал ему этот код, то думал про дельту, так что можешь со своими советами пиздовать нахуй.
#317 #452992
>>452976

>И да, когда я писал ему этот код, то думал про дельту, так что можешь со своими советами пиздовать нахуй.


Спасибо за функцию кстати. Хотя я её так и не использовал но на пару мыслей меня она наталкивала.

Обоссыте мою функцию для корректного ввода нужного значения.
http://ideone.com/adk7RK
sage #318 #452993
>>452976
Блять, хули ты такой тупой. У тебя при операциях с этими ебучими числами может получиться не ноль, хотя в реальном мире там был бы при таких же операциях ноль. Так происходит из-за ограничений точности. Поэтому сравнивать бессмысленно.
#319 #452995
>>452993
Блять, да нет там никаких операций. Уймись уже.
sage #320 #452999
>>452995
Раз нет, то ты заранее знаешь значение. Нахуй тогда вообще сравнивать?
#321 #453002
>>452999
Инпут там есть, ты инпут предсказывать умеешь что-ли?
sage #323 #453010
>>453002
Ну тогда может быть. А вообще с инпутом проще сразу введенную строку проверить, чем полагаться на еблю с плавающей точкой. Бывают поехавшие компиляторы, которые весьма своеобразно float оптимизируют, вплоть до того что 0.0 у тебя может внезапно стать не 0.
#324 #453024
Аноны, как сравнивать char переменные, в которых кириллица?
#325 #453030
>>453024
С помощью операций сравнения.
#326 #453031
Есть ли где-то какие-то открытые проекты, где я мог бы править баги и мутить новый функционал со временем, чтобы и скиллы свои импрув, и с пользой?
sage #327 #453032
>>453031
Есть.
#328 #453033
>>453030
Гениально. Но я ведь не сразу сюда написал...
Латиницу нормально сравнивает, а кириллицу не хочет.
#329 #453037
>>453033
Беда
#330 #453039
>>453031
Dota 2
sage #331 #453040
>>453033
Попробуй переустановить драйвера на видеокарту.
sage #332 #453060
>>453040
Какие блять драйвера видеокарты, ты ебанутый? Сразу ведь понятно, что процессор пылью засорился.
#333 #453063
>>453040
>>453060
Спасибо! Оказалось в розетку забыл вставить провод.
Аноним #334 #453074
>>453033
char a = 'h'
int d = a

ti = dolboeb
#335 #453101
>>453033
#import <Foundation/Foundation.h>

…..

NSString string1 = @"Оп - хуй";
NSString
string2 = @"Ты - хуй";

if ([string1 isEqualToString:string2] == YES)
NSLog(@"%@",string2);
else
NSLog(@"%@",string1);
#336 #453113
>>453033
#include <cwchar>
wchar_t c = L'ф';
bool ok = c == L'щ';
#337 #453136
Анон, помоги зелёному, почему последний массив (который состоит из элементов между макс. и мин. элементами предыдущего) не всегда выводится? Раз на пять компиляций он просто пустой. http://pastebin.com/XyDrcxn8
#338 #453160
>>453136
Значит он пустой. Макс и мин элементы не входят в твой массив, и если они находятся рядом друг с другом то массив получается пустой, вероятность этого 18/90. Алсо у тебя там в цикле копирования массива неправильное количество итераций из-за чего последний елемент не копируется, должно быть i<finish
#339 #453163
>>452701
Алло, это конкурс юмористов?

switch (r4)
{
case 11: case 12: case 13: case 14: case 15: case 16: case 17: case 18: case 19:
return true;
default:
return false;
}
#340 #453243
>>453160
Надо же, на такой очевидной вещи проебал все полимеры. Спасибо тебе, добрый анон.
#341 #453255
День добрый, антуаны.
Подскажите, пожалуйста, имеет ли смысл вообще юзать бесконечные аргументы?
Например мне нужно задавать СТРОКОВЫЕ параметры.
По одному не шибко удобно.
Соответственно удобно было бы использовать что-то похожее на:
void add_param(const string &param1, ...);
Ну и юзать уже подобным образом:
add_param("p1", "p2", "p3", nullptr);
nullptr будет обозначать конец листа параметров.

С одной стороны это удобно для добавления. С другой стороны, сколько аргументов без доп. параметра не узнать. Т.е. va_list не даёт размерности. Если используется для хранения параметров тот же вектор, то перевыделения памяти не избежать, без повторного цикла, чтобы отрезёрвить место. А если просить ссылку на вектор с параметрами, то тогда изи, но не очень удобно использовать.
vector<string> vec = {"p1", "p2", "p3"};
add_param(vec);

Какой вариант предпочтительней? И вообще, в каких случаях бесконечные параметры актуальны? Если говорить о плюсах.
#342 #453271
>>453255
Linked list
#343 #453293
>>453255
Если параметры одного типа, то используй std::initializer_list, а если разных, то пиши рекурсивную шаблонную функцию.
#344 #453387
Сап, помогите зеленому.
http://pastebin.com/EE10XMGu
22-23 строка
Как сделать сравнение с ебаной кириллицей?
#345 #453395
>>453387
https://ideone.com/iKCQjj
Запускаешь в своей системе, смотришь каким кодам соответсвуют нужные буквы, сравниваешь с ними.
#346 #453399
>>453395
Уже пытался
Все равно не работает.
http://pastebin.com/VZfVbkz9
С английскими буквами и символами все нормально.
#347 #453403
>>453399

> char w = 'б';


> char W = 'Б';


Что это за хуйня? Тебе их нужно с клавиатуры ввести. В консольку, или куда ты там пердолишся. У тебя отличаются коды букв в твоем редакторе и в консольном шрифте.
#348 #453412
>>453403
-63 и -31 у них коды.
http://pastebin.com/gNyCEkfS
Ничего не изменилось
#349 #453425
Скиньте плотную статью, где жестоко пояснили бы за perfrect forwarding.
#350 #453428
>>453412

>-63 и -31 у них коды


Объяви их unsigned char
#351 #453438
>>453428
Объявлял, толку нет.
#352 #453440
>>453428
В самой строке косяки с кириллицей. Сделал вывод и вместо русских букв выводятся каракули.
#353 #453442
>>453440
Вот про это я и говорю. Тебе нужно определить какому каракулю соответствует буква 'б' и сравнивать с ним.
#354 #453443
>>453163
>>452712
Я даже не наделся что меня поймут (:
#355 #453445
>>453442
Спасибо тебе!
#356 #453453
>>453293

>std::initializer_list


Понял. Нихуя сложного, примерно так и делал обычно.
Т.е. хорошего применения БЕСКОНЕЧНЫМ параметрам не найти?

Ещё есть один вопрос. Связан с шаблонами и коллбэками.
Очень нравится конструктор std::thread, делаю по его примеру.
Как можно не поганить объявление класса подобной хуйнёй:
template<typename Class>
void add_callback(Class _class, void(Class::meth)())
{
callback = std::bind(meth, _class);
}

Можно, конечно, сразу принимать std::function, но выглядит ущербно подобный код. Особенно, если параметром больше, чем 1.

add_callback(std::bind(&MyClass::my_meth, &MyClass, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3));
#357 #453495
>>453453
А если через variadic templates и forward?
#358 #453505
>>453495
Поясни? Хотелось бы на ideone, например.
#359 #453548
Есть некий файл с текстом, где все слова разделены пробелами. Как я могу обратиться к случайному слову (читай: к символу после пробела)?
sage #360 #453549
>>453548
(!!) . words
#361 #453552
>>453548
Спасибо, сам придумал.
#362 #453563
>>452700

>Записывай биты в байт любым удобным способом


Так вот как? Там же последовательности разной длины. Лишние биты в конце не проблема, нулями заполню.
#363 #453569
Есть способ передать в функцию переменное число аргументов конкретного типа без танцев с va_args и initializer_list?
#364 #453570
>>453569
Контейнер
#365 #453572
>>453569
Упакуй в вектор/лист/твою_мамку
#366 #453573
>>453572
Ещё тупл, если разные типы
#367 #453580
>>453570
>>453572
>>453573
ну вы серьезно блять?
#368 #453583
>>453580
Да. Все возможные варианты уже перечислены.
#369 #453586
>>453583
Я передаю константы, разные по ситуации. Ну и что мне теперь, константы оборачивать в вектор? variadic templates юзать хочу в последний момент
#370 #453591
>>453586
Опиши подробнее что у тебя там происходит. Скорее всего можно как-то переделать архитектуру и избавиться от этой проблемы вообще.
#371 #453596
>>453591
Ну, вообще, да. Все можно переделать лучше. Бывает у меня такое - ебанутые дизайны и всякая хуйня.
Пердолюсь с глобальными ивентами в qt под винду, передаю модиферы MOD_*. Это все можно организовать обычным логическим или
#372 #453659

>template<typename T> void foo(T&&);


>When foo is called on an lvalue of type A, then T resolves to A& and hence, by the reference collapsing rules above, the argument type effectively becomes A&.


Правильно ли я понял, что если я пишу такой код
int i = 0;
int &j = i;
foo (i); foo (j); foo (2); Типы будут соответственно int &, int &, int &&? А что если у меня объявлен параметр как const T &&?
#373 #453710
>>453659

> Типы будут соответственно int &, int &, int &&?


Да.

> А что если у меня объявлен параметр как const T &&?


Меня компилятор нах послал с попыткой вызвать эту функцию указанными способами.

http://www.codesynthesis.com/~boris/blog/2012/07/24/const-rvalue-references/
211 Кб, 1456x694
590 Кб, 1460x920
136 Кб, 1406x927
sage #374 #453716
Пришло время вбросить свой высер еще раз.
Итак, говноборда.
https://ololoepepe.me/board/b
https://github.com/ololoepepe/ololord
Че изменилось:
Поддержка bbcode: b, i, s, u, spoiler, sub, sup.
Доска /echo/: при создании треда надо указать ссылку на тред с другой борды, он будет во фрейме и развертывается при наведении. Для набегов, например, или для обсуждения.
Подгрузка постов без обновления страницы, а также автообновление.
Тег code на всех досках, также допустимо, например, [c++]...[/c++] или [haskell]...[/haskell].
Удаление поста без обновления страницы.
Исправлено превью постов в хромом брошзере.
Для вемок (WebM) создаются превью.
Постинг асинхронный (через iframe). Если произошла ошибка, не надо все заново вводить.
Картинки открываются в треде как тут, с перетаскиванием и масштабированием. Вемки не двигаются (ебучий жабаскрипт, хуй знает как для вемок это сделать чтоб при этом можно было по кнопкам тыкать).
Кнопка "Пожаловаться" (с сюрпризом, естессна).
Превью загружаемых файлов.
Карта ответов.
Поиск в гугле и на iqdb по картинкам.
Мигание неактивной вкладки с новыми (автоматически подгруженными) постами.
Скачивание всех картинок из треда одним архивом.
Премодерация постов (юзером, не мочой).
Исправлена вставка ссылок на посты.
Дедупликация файлов. Если файл на сервере уже есть (проверка по хешу), он не отправляется. Добавляется, но просто трафик экономится.
* Ну и всякие неинтересные технические детали, типа возможности админу постить голый HTML.
66 Кб, 1400x352
sage #375 #453717
>>453716
Ебаная макака, какого хуя не работает маркированный список, тварь тупорылая.
#376 #453736
>>453716

>пишет сайт на крестоговне


Тупая крестоблядь.

Мимо_php_господь
sage #377 #453743
>>453736

>Мимо_php_макака


починил
#378 #453807
Меня ваша шапка наебала, репостну из тонущего сюда.

>>453805
#379 #453808
>>453807
Лафоре "ООП С++", хуле, самая простая книга для вкатывания.
#380 #453809
>>453808
Не люблю таки читать с монитора и прибегаю к этому в крайних случаях, но учту, спасибо.
#381 #453864
>>453716
Ты охуенен, конечно, но не лучше ли заставить Абу вернуть поддержку тега code?
#382 #453894
>>453716
Красавелла
Если напишешь мне апп для андроида и таки перекачусь
#383 #453919
Привет, программач!

У меня есть поток каких-то чисел с большим допустимым диапазоном, например, айпи. Нужно написать штуку, которая быстро бы проверяла, встречалось ли уже такое число. Ввиду огромного количества чисел сделать std::array<bool, 2^32> и смотреть по нему не удается.

Как бы это сделать по-человечески? Основная задача, если что, это поиск количества уникальных встретившихся чисел.
sage #384 #453921
>>453919
Set.size . Set.fromList
#385 #453923
>>453921
And what?

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

Array идеальна, но ее такую большую хрен создашь.

Или ты совсем о чем-то другом?
#386 #453925
>>453923
Битмап для 32 бит будет 512 метров всего. Не так уж и много. А потом биты посчитать не так уж и долго (особенно если проц умеет в какой-нибудь вариант popcnt).
#387 #453928
>>453925
Хмм... Битсет такого ебического размера создаваться не хочет.
#388 #453929
>>453928

> не хочет


А ты его не спрашивай - выдели сам память и пользуйся, а не еби библиотеки. Если вдруг в адресном пространстве не найдется непрерывной области такого размера, можно ведь и разбить на чанки по 64 МБ, например.
#389 #453951
>>453928
А ты выдели массив uint8_t*, заполненный изначально нулями, и циклом проставляй true, если совпадает хоть с одним ранее из тех что false. Тогда количество всех фолсов это количество уникальных встретившихся чисел.

http://pastebin.com/9bCeLr2n

Кстати, сброс бита (reset bit) именно здесь тебе не нужен. Я так, до кучи его написал.
#390 #453977
hd->next->next = hd;
sage #391 #454112
>>453864
Не вернет он. Уже сто раз говорил. Да и не в этом соль, а в том, чтоб с вебом поебстись немного.
>>453894
Уже пишу тебе личный апп, канеш. Нет, ну в самом деле, ебнулся что ли? Нахуй это надо. Я еще могу понять апп для тытрубы, он может какой-то прирост к производительности дать, но тут то нафига? Все равно все будет тупо дублироваться. Свистоперделок и так дохуя, а работает вполне быстро на лопате.
#392 #454128
Двачик, есть очень простой вопрос, но нормальное решение как-то не очевидно. В общем есть строка std::wstring вида "0102030A0B0C", нужно разбить на вектор/массив строк вида {"01", "02", "03", "0A", ... }. Кроме тупого перебора циклом есть в стандартной библиотеке способы это сделать?
#394 #454160
>>448310
Помогите пожалуйста. Как определить, сколько слов в строке чётной длины, используя стандартные строковые функции?
#395 #454175
>>454160
unsigned numberOfWords = 0;
if (str.length())
{
size_t pos = 0;
while (std::npos != (pos = str.find_first_of(" ", pos)))
{
++numberOfWords;
}
}
sage #396 #454180
>>454175
А запятые и точки кто обрабатывать будет?
#397 #454182
>>454180
Запятые и точки никак не повлияют на количество слов в предложении.
#398 #454185
>>454175
А где длина слова проверяется на чётность?
Мимо.
sage #399 #454196
>>454182
Ты дебил? Твой высер будет находить в качестве слов подстроки типа "тогда,". Соответственно, длина слова будет больше на 1, чем должна быть, и длина станет нечетной (или наоборот четной). Пиздец, как ты вообще его условия читал?
151 Кб, 442x584
#400 #454197
>>454196
Про то что нужно длину считать это я не заметил, да. Ну пусть пройдётся циклом и удалит все запятые, хули, как будто это проблема.
#401 #454250
>>454160
ну няши, помогите же))
как найти количество слов чётной длины? кроме пробелов, слова могут быть отделены запятыми, двоеточиями, тире
#402 #454254
str.erase(std::remove(str.begin(), str.end(), ','), str.end());
str.erase(std::remove(str.begin(), str.end(), '.'), str.end());
str.erase(std::remove(str.begin(), str.end(), ':'), str.end());
str.erase(std::remove(str.begin(), str.end(), '-'), str.end());
// ещё какие знаки убрать сам вставишь если надо

vector<string> vecWords = explode(str, ' ');
// код функции explode могу приложить отдельно

unsigned chetnih_slov_chislo = 0;

for each (string word in vecWords)
{
if( word.length() % 2 == 0)
chetnih_slov_chislo++;
}
#403 #454265
>>454254
ну блин(((, я не знаю таких функций, можно как-нибудь без векторов и этих erase? мы просто в универе ещё не проходили это)) мне кажется тут нужно выделять слова с помощью strspn() и strcspn().
#404 #454270
>>454265
Это всё стандартные функции c++, а эти рудименты strspn() и прочие я никогда в жизни не использовал, хз уж как там с ними делать что
#405 #454274
>>454270
ну напиши тогда хотя бы без векторов пожалуйста))
#407 #454280
>>454276
static const std::set<char>::iterator _end = delimeters.end();\
\tfor (std::string::iterator it=input.begin(); it!=input.end(); ++it)
if (delimeters.find(*it) == _end) state++;
else;
объясни пожалуйста эти строчки;
что за set, iterator?
#408 #454285
>>454280
Ну вторую строку можно заменить на
for (char it=input; it!=0; ++it)
если вхожной параметр объявить как указатель на char (строка в стиле С). А сет это сет, почитай документацию, я хуй знает чем тебе помочь. Можешь свой навелосипедить, для твоей задачи достаточно просто можно хуевый на массивах сделать, так тебе ограниченый функционал нужен - только статическая инициализация и проверка наличия.
#409 #454289
>>454274
Как без векторов то? На массиве чтоли?
#410 #454295
>>454285
да, через символьный массив, и мне ещё нужно вставить после первого слова заданную подстроку, например ””; помоги пожалуйста)) мне завтра уже надо эту задачу сдать
sage #411 #454304
Долбоебы повелись на очевидную зелень, пиздец деграданты.
#412 #454313
>>454304
я не зелень, просто студентота, начавшая изучать прогу только в универе
#413 #454327
>>454250
http://ideone.com/uCwvqF
не благодари, братюнь
#414 #454334
Посоветуйте мне книжулек по низкоуровневому программированию под линукс. Я так понимаю, ядро написано там на с.
sage #415 #454347
>>454334
Байтоебы не нужны, иди на хуй.
#416 #454350
>>454327
Ну спасибо, няш :'(
Иисус #417 #454356
Эй бандиты .есть что-нибудь по MFC(учебник.статьи)?а то в гугле чет нехера нету
#418 #454361
Бля, антоши, подскажите, не могу разобраться с указателем на начало массива в С.
Например, есть

char STR[] = "asd";

в памяти он устроен как-то так -

0 | 'a'
1 | 's'
2 | 'd'
3 | '\0'

Окей, но где тогда хранится сам указатель STR?

То есть, условно говоря, если я запринчу -

printf("%p", a) // - получу 0;

Однако и

printf("%p", &a) // - Я тоже получу ноль.

Как так получается? Указатель на начало массива хранится там же, где и первый элемент? Что за борода?
#419 #454363
Бля, антоши, подскажите, не могу разобраться с указателем на начало массива в С.
Например, есть

char STR[] = "asd";

в памяти он устроен как-то так -

0 | 'a'
1 | 's'
2 | 'd'
3 | '\0'

Окей, но где тогда хранится сам указатель STR?

То есть, условно говоря, если я запринчу -

printf("%p", STR) // - получу 0;

Однако и

printf("%p", &STR) // - Я тоже получу ноль;

Как так получается? Указатель на начало массива хранится там же, где и первый элемент? Что за борода?
#420 #454370
>>454356

>MFC


>2015

#422 #454477
Скажи мне, двачик, почему не работает следующий код:

std::multimap< int, std::pair< int, int >@ > map; std::pair< int, int >@ pair = new std::pair< int, int >( 10, 20 );
map.insert( 10, pair );

@ = указатель
#423 #454481
>>454112
А я тебе говорю не удобно мля
Приложением это совсем другой уровень.
Мобильную версию хотяб надо
#424 #454482
>>454347
Как это нинужны?
Ты там ахуел чтоле?
Пояснить за базар в состоянии?
#425 #454487
Скажи, анон, если нужно реализовать таблицу из двух параметров, причем по одному нужна сортировка, а по второму -- быстрый поиск, то как это лучше всего сделать?
#426 #454499
Сап зк.

Хочу сделать хэшмап, у которого Key - тип, а Value как обычно.
Сейчас есть что-то типа
mymap[std::type_index(typeid(T))];

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

Хотет что-то типа такого
mymap.get<T>();

Полагаю, что нужно копать в сторону template и constexpr (которого в 2013 студии нет блджад).
Что можете посоветовать?
#427 #454505
>>454185
А хули он условия так говенно пишет?

>сколько слов в строке чётной длины


>в строке чётной длины


Строка четной длины, блять. Нехуй через жопу писать, будет и нормальный ответ.
#428 #454508
>>454477

>Хранить указатели в контейнере


Хоссал на говноеда.
sage #429 #454513
>>454481
Ну хуй знает. Мне все норм. Что конкретно тебе неудобно? Может это все исправляется легко.
>>454482
Пссссс. Пояснил прямо в ротешник.
>>454487
Два словаря, например. Возможно, один или оба на основе хеша.
>>454499

>std::type_index(typeid(T))


std::type_index t<T>() { return std::type_index(typeid(T)); }
mymap[t<T>()];
>>454505
Это ты читаешь жопой просто. Хз как можно было именно так понять.
>>454477

>не работает


В розетку воткнул? Процессор прочистил?
#430 #454517
>>454513
А можно ли как-то в случае std::map быстро найти id (то есть, номер элемента с начала карты), имея в руках его ключ?
#431 #454532
>>454513

>std::type_index t<T>() { return std::type_index(typeid(T)); }


mymap[t<T>()];
Жопочтец, мне нужен compile-time хэшмап, а не это говно.
#432 #454565
Зачем нужны ссылки, когда есть указатели? Почему Кармак в своём idTech 4 использует только указатели, а на ссылки забивает хуй?
sage #433 #454568
>>454517
Без понятия, STL не пользуюсь, вед есть Qt.
>>454532
Объясни нормально, что ты хочешь сделать. Пример кода. Нихуя не понятно. Compile-time только constexpr и шаблоны, да.
#434 #454569
>>454565
Иногда указатели нужно передавать по ссылке.
Потому-что привык к Си
#435 #454573
>>454569
Что? В каком случае это может пригодиться?
#436 #454575
>>454573
Когда тебе нужно модифицировать указатель.
#437 #454577
>>454565
Работа с указателями не гарантирует платформонезависимости и переносимости.
#438 #454579
>>454565
Ссылки нинужны. Просто они безопасней.
#439 #454580
>>454565
Ссылки не нужно проверять на NULL.
#440 #454589
>>454577
Почему не гарантирует? А ссылки гарантируют?
sage #441 #454598
>>454589
Да это для долбоебов все. Которые высирают вот такое говно: http://pastebin.com/kBD8Ct4d
Если дрочить вприсядку и сосать собственный хуй, то действительно можно напороться на проблемы переносимости.
#442 #454601
>>454598
В pInt записывается адрес переменной pC, потом к нему прибавляется 1 и pChar получает строку по новому адресу? Там будет смещение на 1 символ? Что за хуйня?
23 Кб, 458x219
#443 #454602
Блядь, да что за хуйня!
Ну почему компилятор пишет, что array - это char и выкидывает исключение?
Если я правильно понял, это происходит из-за того, что я сравниваю символ с разыменованным указателемa ==
(array+i) - можно так записать на элемент символьного массива. А как тут этого избежать-то? Как жить, что делать?
#445 #454606
>>454602

> break


> flag = true


Проиграл. Какое исключение? Прочитай какое оно, вот возми и прочитай. Возможно у тебя сегфолт из-за того что ты вылез за буфер.
#446 #454607
>>454602
Не /0, а \0
sage #447 #454608
>>454601
Размер int в общем случае не равен размеру char. Как правило (на 32-битных системах) это 4 и 1 байт, соответственно. Дальше сам сообразишь, что произойдет.
#449 #454613
Когда объект передается функции в качестве аргумента, создается копия этого объекта вызывается ли конструктор копии?
#450 #454614
>>448310
посоны, подскажите примерный алгоритм, как в символьном массиве выделить слова и узнать их чётность? как посчитать сколько слов чётной длины, а сколько нечётной?
sage #451 #454615
>>454613
Давай рассуждать логически. Если создается копия, то создается новый объект. Что происходит (или что вызывается) при создании объекта? Вот и ответ.
sage #452 #454617
>>454614
QString s = "мамку твою в жопу ебал, пидор";
QStringList words = s.split(QRegExp("\\W+"), QString::SkipEmptyParts);
int even = 0;
int odd = 0;
foreach (const QString &w, words) {
if (w.length() % 2)
++odd;
else
++even;
}
qDebug() << "четных:" << even;
qDebug() << "нечетных:" << odd;
#453 #454618
>>454617
QString s это структура? s.split это что?
А можно как-нибудь в символьном массиве всё это сделать? ну то есть дан char array[], и в нём есть слова и знаки препинания. Подскажи хотя бы примерный алгоритм))
sage #454 #454621
>>454618
Алгоритм я тебе и так показал. Лучше отсоси преподу, или пиздуй в армию.
#455 #454624
>>454621
я девушка, и препод тоже женщина((
#456 #454625
>>454606
Не нашёл названия исключения, была ошибка чтения памяти - наверное, где-то с памятью и объебался. Гугол не подсказал ничего.
>>454611
Вставил эту функцию и весь модуль заработал - почти оргазм. Спасибо!
sage #457 #454626
>>454624
Ну отлижи ей, прояви хоть немного фантазии, шлюха ты тупая. Зелень, съеби.
#458 #454661
>>454624
Сиськи давай
#459 #454710
>>454613
Если объект является rvalue и, как аргумент, имеет модификатор const, то может и не создаваться и н вызываться.
sage #460 #454718
>>454710
Он же написал что создается, вопрос был про вызов конструктора.
#461 #454725
>>454361
A в твоём случае и есть указатель на первый элемент.
#462 #454871
Посоны, есть важный вопрос.

Волею судеб надо разобратьсь с куском говна на крестах, запись в файл, конкретно.
В куске кода отвечающего за запись документа в файл, вызывается [int _write] функция из файла write.c 10й вижлы.
Пробежался по ней дебагом, она доходит до винапишной функции

BOOL WINAPI WriteFile(
_In_ HANDLE hFile,
_In_ LPCVOID lpBuffer,
_In_ DWORD nNumberOfBytesToWrite,
_Out_opt_ LPDWORD lpNumberOfBytesWritten,
_Inout_opt_ LPOVERLAPPED lpOverlapped
);

Дальше, видимо, эта функция кидает error. Где мне глянуть код ошибки?
3 Кб, 388x111
#463 #454878
Антуаны, как пользовательскую функцию F написать?

зелень в этом тхреаде(ITT)
#464 #454881
#465 #454896
>>454881
Спасибо тебе, очень выручил! Счастьяздоровья, невесту с приданым и коней златозубых в табор!
#466 #454910
Посоны а это правда что в 15 студии можно будет писать сразу под три оси? Это как вообще?
#467 #454914
>>454910

использование АПИ будет полиморфным.
#468 #454934
>>454871
GetLastError()
#469 #455162
>>454910
(в порядке бампа) Не понял вопрос. Компилять под три оси или что?
sage #470 #455170
>>455162
ПИСАТЬ, мудило. Один код под все три оси.
#471 #455257
>>455170
В чём блядь проблема? У тебя <iostream> виндовый, что ли?
41 Кб, 705x734
#472 #455279
Какого хера, блядь?

(Присваивание не перегружено на сдвиг вправо, сишный код, вставки на плюсах, компилится как плюсы)
#473 #455310
>>455257
Даунина плс...
sage #475 #455314
>>455310
обосрался
@
Даунина плс...
2 Кб, 536x19
6 Кб, 554x201
#476 #455364
Господа, прошу объяснить синтаксис конструктора, обозначаемого на пикрелейтед.
sage #477 #455374
>>455314
Во-первых, то был не я. Во-вторых, ты таки даунина, потому что помимо голых крестов и голой STL (реализация которой, кстати, тоже может на разных платформах и осях отличаться) есть еще чисто системные заголовочники с чисто системными функциями, которые на одной оси есть, на другой нет. Хотя, дауненку, дальше лаба_3 не дошедшему, это невдомек.
sage #478 #455375
>>455364
Двоеточие ставится, чтобы драйвер оперативной памяти не вызывал замыкание в блоке питания.
#479 #455380
>>455364
Говно синтаксис, что тут объяснять.
#480 #455382
>>455380
>>455375
Код не мой, разобраться надо, но даже представлений никаких нет.
#481 #455384
>>455382
Это значит, что x инициализруется значением a (копируется наверное) и тд.
#483 #455389
>>455386
пиздец, что за головастик с разными грудями
#484 #455390
>>455374
Ты ахуел? Я даунёнак только что третью лабу сделал и это знал вот и хули ты пиздишь?
sage #485 #455391
>>455390
Че ебальник разинул? Пссссс. Нассал тебе туда.
#486 #455398
>>455389
охуенная няшка жи
#487 #455402
>>455386
Сначала показалось, что у неё на соске 2 прыща.
#488 #455406
Господа. Сегодня был на собеседовании на блядского джуна за еду.
Почему-то на такое решение:
https://ideone.com/SJYAgn
Мне сказали, что хуйня какая-то. На мэйн можете даже не смотреть. Проверял работает ли.

Задача была разбить строку на подстроки по определённому символу.

Что тут не так?
#489 #455409
>>455406

>Что тут не так?


Не знаю, хуйня какая-то.
#490 #455411
>>455409
Ну хуй знает. Единственное, чтобы я выпилил - подсчёт количества элементов. Ибо нехуй линейно перебирать всё говно.
Нахуй не нужно, в принципе.
Даже выпилю её.
sage #491 #455417
>>455406
Еб твою мать, с такой формулировкой задачи все чуть ли не в три строчки делается, а ты говна нагородил. Конечно тебя обоссали. https://ideone.com/jqqeiP
#492 #455418
>>455417
А на богоуровне вот так:

QString str = "твоя;мамаша;хороша;в;постели";
QStringList splitted = str.split( ";" );
sage #493 #455419
>>455418
Ну, я так понял, ему надо было на голых крестах, стл онли. На кьюте то да, qDebug() << QString("твоя;тоже;вполне;ниче;так").split(';');
Алсо, даже вот так можно сократить, че уж: https://ideone.com/dsqreZ
63 Кб, 640x714
#494 #455435
>>448310
Анон, я вот учу с++ не первый месяц и у меня скопилось несколько нубских вопросов:
1) Как защитить свою программу от взлома?
2) На чем сделать качественное и красивое GUI? Просматривал статьи по WinAPI но по сравнению с тем же C#, элементы окна выглядят довольно древними.
3) Как грамотно объединить коды двух ЯП, к примеру того же С++ и С#?
#495 #455445
>>455435
1) Современные игры ломают за 3-4 дня. Так что, имхо, лучше не забивай себе голову.

2) Qt.

3) Через библиотеки, очевидно же.
#496 #455471
>>455435
1) Всё равно взломают. Хотя тебе, думаю, подойдёт метод Неуловимого Джо.
2) Не смотри на винапи это слишком тру-способ, не тебе им заниматься. Qt неплох, как говорит >>455445 , но будь готов к тому, что вместе с программой тебе придётся тащить Qt5Core.dll, Qt5Widgets.dll, Qt5GUI.dll и ещё тонны библиотек.
Касательно древних элементов гуя - тут https://msdn.microsoft.com/en-us/library/windows/desktop/bb773175%28v=vs.85%29.aspx написано, как это решать.
3) Использовать из C++ шарповую библиотеку? Компилируешь шарповый код как dll, дальше:
1. Объявляешь в C++-коде необходимую функцию как extern-прототип.
2. Пишешь LoadLibrary, в параметрах указываешь имя dll.
3. Вызываешь GetProcAddress с именем нужной функции, преобразовываешь результат в указатель на объявленную функцию.
Вот статья: http://rsdn.ru/article/baseserv/dlluse.xml

В шарпе из C++ всё несколько проще поэтому не тру. Опять же, компилируешь C++-код в dll, потом просто в шарп-коде пишешь следующее:
[DllImport("Cpplib.dll")] //Это твоя библиотека, которую ты используешь
int MyFunc(); //Это функция, которую ты собираешься использовать из библиотеки. Следи, чтобы совпала по сигнатуре.

Опять же, вот https://msdn.microsoft.com/en-us/library/aa984739%28v=vs.71%29.aspx статья.
#497 #455473
>>455471
Тащить дополнительные библиотеки совершенно не обязательно. Достаточно просто статически слинковать проект. Делается это вот так: http://www.cyberforum.ru/qt/thread234568.html
#498 #455476
>>455473
Со статической линковкой никаких тебе LGPL.
sage #499 #455488
>>455476
А нахуй они тебе нужны? Делаешь сборку максимально сложной, выкладываешь исходники без какой бы то ни было документации, и вуаля - почти никто не осилит собрать. GPL не запрещает же продавать, просто надо сырцы выложить.
#500 #455554
>>455476
А зачем тебе LGPL? Если ты собираешься серьезно зарабатывать деньги, то тебя купить Кьют вряд ли заломает. Если же ты опенсорсник, то основной формой распространения все одно будут сырцы.
#501 #455635
Тонем?
sage #502 #455650
>>455635
А не похуй? 10 страниц же, не сотрется.
#503 #455923
Аноны, как сделать вывод дня недели, получив его номер?
#504 #455933
>>455923
Сделать enum со днями недели.
#505 #455935
>>455923
char* dayOfWeek[] = { "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun" }
printf("%s\n", dayOfWeek[dayNumber - 1]);
#506 #455939
>>455935
Спасибо!
>>455933
enum выводит число вместо названия ведь.
463 Кб, 3319x2167
#507 #455956
Поздравьте меня анончики. Нашел работу джуном. Сегодня позвонили, сказали в понедельник приходить оформляться. Господи, слезу с мамкиной шеи, съеду из хрущевки. Господи, спасибо тебе Страуструп.
#508 #455961
>>455956
Поздравляю, бро.
Ток не стань макакой и дропай, если хуйня.
Хуже ничего нет, чем работать не получая удовольствия от результата.
sage #509 #455970
>>455961

>Хуже ничего нет, чем работать не получая удовольствия от результата.


Есть: работать при этом за доширак.
#510 #455973
>>455961
Дропать и возвращаться к мамке на шею? Нет спасибо.
В худшем случае пострадаю год и буду искать более "по душе".
#511 #455984
>>455973
Какой лвл?
#513 #455992
>>455988
Отрепортишь потом о первых днях.
#514 #455993
>>455988
Слава богу, одним двадцатитрехлетним синьором меньше.
#515 #455994
>>455993
А что не так с 23х летними синьорами?
Знакомый в яндексе в 22 года стал им.
#516 #455997
>>455994
Правда он жаба кодер.
#517 #456048
как развернуть макрос в #pragma?
Есть один макрос SHITCODE - строка с файлом и числом. __FILE__ разворачивается нормально, а __LINE__ я в строку перегоняю другими макросами, но ничего не получается - в прагму вставляется имя макроса.
msvc компилятор
sage #518 #456050
>>456048
Нахуя тебе это говно?
#519 #456051
>>455956
Сколько шел к этому?
#520 #456052
>>456048
Очень просто -- нужно перестать в 21-м веке пользоваться говном типа макросов и научиться писать нормальный код.
#521 #456053
Я знаю, что у вас печет от таких вопросов, но я уже гугол сломал.
Как задать вручную двумерных вектор путем перечисления элементов?
Есть какой-нибудь способ задать в коде программы матрицу 3x3, например?
#522 #456055
>>456053
В STL нету стандартного многомерного контейнера. Тебе нужно написать его самостоятельно.

Хотя, в принципе, можно сделать std::map< pair < int, int >, int >.
#523 #456057
>>456051
Чуть более года. Точнее начал изучать сам год назад. Пол года затрачивал синтаксис по мере возможности. Потом начал нормальный поиск работы и дополнительно всяк скользкие места и хитрости.
#524 #456058
>>456057
И не уж-то прокатывает? Просто я боюсь, что нахуй пошлют. Тупой и все дела.
#525 #456060
>>456050
>>456052

>научиться


В том-то и дело, что я ставлю эти метки по коду, чтобы научиться и потом вернуться и исправить на нормальный код
#526 #456063
>>456058
Что прокатывает? Меня отшили на 3 собеседования и 7 тестовых заданиях по почте. Каждый раз что-то додрачивал, узнавал что нужно подтянуть. Я даже собеседование на трейни провалил. Вот конце-концов пришел, нормально набеседовался и взяли.
Дорогу осилит идущий же.
#527 #456065
>>456060
Пиши комментарий с пятью звездочками подряд или каким-то еще уникальным кодом — и все. Любая нормальная IDE может искать по всему проекту.
#528 #456066
>>456063
Ты меня успокоил. Дрочу дальше.
#529 #456067
>>456063
О, та же фигня, бро. Я сейчас ищу работу в геймдеве — уже две команды отшили по тестовому, еще к одним сам не пошел. Но каждое тестовое давало новый опыт, прибавляя новые строки в резюме. Так что главное пробовать и не надеяться, что все будет сразу.
#530 #456069
>>456067
>>456063
А что спрашивают?
#531 #456072
>>456069
Одна команда просила написать буфер между многопоточным приложением и базой данных, вторая -- многопоточную факторизацию большого объема чисел. Пробовался и там, и там, на серверного программиста.

Третьи задавали нубовопросы по алгоритмам типа печати односвязного списка в обратную сторону и всякие общие штуки типа "как бы вы написали таблицу лидеров".
#532 #456073
>>456067
А можешь дать пример тестового? Хочу знать, что они делают на самом деле игры делают, конечно же
#533 #456075
>>456072
Пиздос. Забился под шконку.
#534 #456076
>>456067
Мне так обидно было, когда проебал задание в гд фирму, относительно простое но не знакомое. А когда расшарил что к чему, вакансию уже закрыли.
>>456069
Открой любой гайд, тысячи их, каждый верен процентов на 80-90. Написать код на листочке. Перевести текст на ходу.
#535 #456078
>>456073
Смотри сюда: >>456072

Вообще, по впечатлениям геймдевы сейчас ищут очень крутых специалистов даже на джуниоров. И в основном нужна высоконагруженная многопоточность.
#536 #456079
>>456078
>>456076
Кек. Теперь уже похуй. Я сегодня даже Boost подцепить на Windows не смог. Высплюсь и продолжу завтра. Ну буду дрочить до потери пульса.
#537 #456080
>>456076
Да вот та же фигня. Я почти уверен, что как минимум вторая фирма не взяла именно из-за того, что я по срокам закопался, потому что старался все сделать идеально и вычитывал часами теорию.
#538 #456081
>>456079
Буст, кстати, мало кто просит. Более того, как правило в тестовых требуют обходиться голой STL вообще без библиотек.
#539 #456083
>>456081
Да я просто пытаюсь учиться не просто выполняя примеры из учебника, а пиля что-то свое, пытаясь делать это по уму.

И вот по задачи я столкнулся с тем, что нужен JSON парсер, и парсер командной строки. Если JSON парсер я нашел, то вот командную строку парсить довольно сложно.

Прочитал, что все это готово в Boost.
#540 #456084
>>456081
С моего опыта буст былв желаемых у половины, мфл у процентов 10. Зато знакомство с никс осями на уровне юзера у трех четвертей, а гит у 90 процентов.
#541 #456085
>>456084

>мфл


Что это?
#542 #456087
>>456085
Майкрософтовская оконная библиотека жи.
#543 #456088
>>456087
мфц же. MFC.

Но говорят, что она старая и никто её уже не пользуется.
#544 #456090
>>456088
Поддержку никто не отменял.
#545 #456091
>>456090
Справедливо.
#546 #456160
>>456088
MFC + WTL = мфл
Собственно обе требуются/желаються довольно редко.
#547 #456235
>>448310
http://pastebin.com/xX2mRtCT
Почему первый цикл считает первым элементом (первым элементом массива b, равного тому же элементу массива a) просто первый элемент?

Если убираю промежуточные переменные в начале функции, то находит правильно, но тогда второй цикл (копирование элементов) не выполняется, в чем проблема?
#548 #456262
>>456235
бамп срочно
#549 #456302
>>456262
Вам в шарагу дебагер не завезли?
#550 #456347
Как запилить таймер? И будет ли он работать в методе класса, вызывая тот же метод?
#551 #456349
>>456347
QTimer timer();
#552 #456350
>>456349
Я не в Qt
#553 #456353
>>456350
1) делаешь поток;
2) отправляешь в поток функцию с бесконечным циклом с ожиданием по std::chrono;
3) делаешь из потока коллбэк каждый такт цикла.

Вот тебе простенький независимый и точный таймер.
#554 #456391
Поясните мне как организовать парашу.

Сначала я запилил класс, который считает всякие задачи по математики.

Cls obj(1, 56, 45) //инициализируем.
obj.run() //выполняет всякое говно.
obj.result() //возвращает массив с ответом.

Теперь я решил окошки при помощи QT прикрутить. У меня тут сразу же вопрос: как захуячить матрицу грамотно? Под каждый элемент пилить отдельный QtLineEdit? А если нужно будет прямо на ходу увеличить\уменьшить матрицу?

А теперь непосредственно к сабжу. Как захуячить грамотные Exceptions? Где и как их надо обрабатывать и так, чтобы они были информативны.

Вот, например, подключу я свою библиотеку в Qt-проект, аля #include "myLib.h", где будет весь функционал лежать, а как теперь выкидывать сообщения пользователю о том, что прилетел Exception? И ещё как сделать их более информативными
run()
{
if(a==0)
throw MyExc("Divided by zero");
else
return b/a;
}

try{
obj.run()
}
catch(Excetion &e){
std::cout << "Error was deteted" << e.what() << std::endl;
}

Что-то типо в этом роде? Ничего больше в голову не приходит.
#554 #456391
Поясните мне как организовать парашу.

Сначала я запилил класс, который считает всякие задачи по математики.

Cls obj(1, 56, 45) //инициализируем.
obj.run() //выполняет всякое говно.
obj.result() //возвращает массив с ответом.

Теперь я решил окошки при помощи QT прикрутить. У меня тут сразу же вопрос: как захуячить матрицу грамотно? Под каждый элемент пилить отдельный QtLineEdit? А если нужно будет прямо на ходу увеличить\уменьшить матрицу?

А теперь непосредственно к сабжу. Как захуячить грамотные Exceptions? Где и как их надо обрабатывать и так, чтобы они были информативны.

Вот, например, подключу я свою библиотеку в Qt-проект, аля #include "myLib.h", где будет весь функционал лежать, а как теперь выкидывать сообщения пользователю о том, что прилетел Exception? И ещё как сделать их более информативными
run()
{
if(a==0)
throw MyExc("Divided by zero");
else
return b/a;
}

try{
obj.run()
}
catch(Excetion &e){
std::cout << "Error was deteted" << e.what() << std::endl;
}

Что-то типо в этом роде? Ничего больше в голову не приходит.
#555 #456396
>>456391
Кури QTableWidget, если я правильно понял задачу из твоей крайне хуевой формулировки, то это то, что тебе нужно.

А грамотные исключения хуячатся следующим образом: ты берешь и забываешь о существовании подобного механизма. Исключения это безплюсовщина и двадцатый век. Пора уже в современность.
#556 #456400

>Кури QTableWidget, если я правильно понял задачу из твоей крайне хуевой формулировки, то это то, что тебе нужно.


О, походу почти то, что надо. Буду курить.

>Пора уже в современность.


И какая нынче современность? Как пилить ошибки?
#557 #456407
>>456400
Ручками проверять условия. Использование исключений говорит о том, что ты не понимаешь, что у тебя в коде происходит и не можешь конкретизировать место ошибки.

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

Ну серьезно, где у тебя в программе может возникнуть ошибка, которую ты не можешь отловить заранее?
#558 #456408
>>456407
А разве эксепшены не круто? Выглядит довольно прикольно.
#559 #456410
>>456408
Круто твою мамку в рот бомбить, а в программировании стоит выбирать нормальные механизмы, а не крутые.
#560 #456427
>>456302
увы, не завезли
sage #561 #456499
>>456391

>QT


>QtLineEdit


Ты специально, да? Хочешь, чтобы моя жопа на кварки распалась?
Алсо, либо, как сказал >>456396, QTableWidget, либо динамически создавай/удаляй QLineEdit'ы (хотя это уебанский способ). Про исключения забудь, это дрисня носорога для ебанутых тырпрайзщиков с миллионами строк бойлерплейта, в котором даже автор не разберется, потому что ему похуй на свою программу, лишь бы денег срубить, а думает пусть кто-то другой (в итоге не думает никто, все только и делают, что кидают и ловят исключения). Он (>>456408) все верно сказал.
sage #562 #456500
>>456499

>он


Промазал. Вот он имелся в виду: >>456410
#563 #456503
>>456353
В общем погуглил я немного, пришел в итоге вот к такой конструкции:
std::chrono::high_resolution_clock::now().time_since_epoch().count()
Теперь планирую сохранять её данные в переменныую и сравнивать каждый раз разницу.
Это правильный подход, или я опять наделал хуйни?
sage #564 #456517

>std::chrono::high_resolution_clock::now().time_since_epoch().count()


На что только не идут байтоебы, чтобы не использовать нормальный фреймворк. Напомнило AbstractSingletonProxyFactoryBean.
#565 #456519
>>456517

>нормальный фреймворк


Советы в студию
#566 #456520
>>456499

>QTableWidget


А там можно динамически добавлять столбцы\строки в таблицу?
sage #567 #456522
>>456519
Будто вообще есть выбор. Qt. Для консолеговна и древних калькуляторов boost (хотя буст это не фреймворк).
sage #568 #456524
>>456520
Нет, блять, нельзя, разработчики строго установили размер 3х4. Пиздец вопросы. Открой хоть раз доки.
#569 #456527
>>456522
Использовать Qt только для создания таймера?
sage #570 #456538
>>456527
Ну да, лучше использовать костыль на каждую мелкую проблему. Буст хоть заюзай http://www.boost.org/doc/libs/1_57_0/doc/html/boost_asio/tutorial/tuttimer2.html
#571 #456540
>>456391
Ловля ошибки деления на ноль с помощью исключения это какой-то запредельный пиздос. Такая-то важная ошибка, ну никак руками нули не откинешь!

Вообще, если тебе приходится использовать исключения, значит, у тебя какие-то пиздарики с архитектурой, причем серьезные.
#572 #456541
>>456538
Может есть что попроще Qt? Или же получше? Что-то в последнее время слишком часто в программировании/от программистов слышу, что лучше юзать Qt.
Странно это, неужели только один годный фреймворк существует?
#573 #456542
>>456541
Кьют все любят за то, что это предельно простой фреймворк с очень качественной справкой, встроенной в фирменную IDE, который может практически все. Там и полный набор виджетов и model/view для случаев, когда виджеты не справляются, и работа с сетью, и БД, и потоки, и регэкспы, и трехмерная графика, и даже работа со звуком -- причем все делается максимально просто и без выебонов.

Я могу сказать как человек, который на STL начал писать уже после Кьюта -- в основном процесс сводился к "каким десятком строчек реализовать то, что под Кьютом делалось в две строки".

Короче, не ленись и пиздуй изучать Кьют.
#574 #456546
>>456541
Алсо, я за все время работы с ним помню один или два случая, когда не нашлось стандартного кьютовского объекта для решения моей проблемы.
sage #575 #456547
>>456542
Подписываюсь под каждым словом. Альтернатив по факту нет. Проще уже некуда, возможности по части GUI оставляют далеко позади все другие фреймворки. По части non-GUI разве что буст будет мощнее, но он гораздо сложнее и некрасивый (хотя это уже вкусовщина).
#576 #456550
>>456542
>>456547
Убедили, Qt использовать явно проще, но что в плане обучения крестам? Ведь по сути я программирую сейчас ради обучения. И в будущем при приёме на работу не будет так, что меня пошлют нахуй, потому что Qt программистов и так дохуя, а им нужны кодеры на глубокоанальном C++.
#577 #456551
>>456550
Ну, есть два пути обучения -- от низкого уровня к высокому и от высокого к низкому. Мне больше нравится второй, потому что удобнее сначала узнать, что такое собака в целом, а потом -- что у нее внутри. Но тут думай сам.

Qt-программеров ищут меньше, чем чистых плюсовиков, но порядком. Есть одна проблема -- Qt пока еще не шибко оценили в мобильном секторе и вообще фронтэнде, поэтому в основном вакансии с Qt будут из НИИ. Так что, как бы ты не шел, изучить STL тебе необходимо.

Важный момент: не забывай про C++11/14. Они еще не очень широко применяются, но писать в этих стандартах куда как удобнее.
#578 #456565
гайз, накидайте вопросов с собеседования с++ среднего уровня + вокруг прилегающите темы
#579 #456592
>>456540
Если функция принимает неправильный аргумент, её не должно ебать, по какой причине она приняла неправильный аргумент. С этим пускай на уровень выше разбираются.
#580 #456593
>>456551

>поэтому в основном вакансии с Qt будут из НИИ



Неожиданно, с чего бы вдруг?
#581 #456603
>>456592
неверно.
sage #582 #456613
>>456593
Потому что, вопреки распространенному мнению, в НИИ сидят далеко не мудаки.
>>456592
Вообще-то проверять аргументы - вторая по важности (и первая по порядку) задача функции после, собственно, выполнения возложенного на нее действия.
#583 #456624
>>456592
>>456613
>>456603
У меня от вас когнитивный диссонанс. Я не знаю кому верить.
459 Кб, 800x800
sage #584 #456628
>>456624
Верь в мою веру в тебя.
#585 #456631
>>456628
Ты мне бы лучше пояснил, как быть.
Я хочу гибридную программку: gui на qt и консольный интерфейс.
Суть этой программки в работе с самодельной библиотекой, которая решает одну мат задачу. inb4: Уебывай со своими лабораторками. Пишу чисто для себя, лол.

В ней три метода:
1. Конструктор, который принимает три параметра(<int>, <vector<vector>>, <vector>)
-Как проверить, что именно нужные типы пришли?
-Как захуячить проверку того, что второй вектор является квадратной матрицей?
-Как возвращать ошибки? Просто return INCORRECT_MATRIX;?

2. Метод run(), который вычисляет всю эту приблуду. В нем просто несколько функций, которые одна за другой вычисляют нужные данные. Схематично:

int run()
{
int temp = 0;
if((temp = doFoo()) != 0){ return temp; } //doFoo бросает 0, если все хорошо, и больше нуля, если все плохо.
if((temp = doBar()) != 0){return temp;}
//И так ещё несколько разных функций, которые обсчитывают некоторые данные.

return SUCCESS;
//В самом конце функции. Пользовательская программа уже может обработать и понять, что можно уже запросить результаты.
}

Тут самое интересное. Я хочу реализовать много поточность на этом этапе. Ведь пользователю, может быть, придется обсчитывать много данных:

-Как вообще должна правильно организовать многопоточность? Например, мне надо обсчитать 10 задач. Пользователь вводит, что хочет посчитать в 3 потоках, аля app.exe -t 3. И программа должна распределить задачи по потокам, поставить в очередь и т.д.
-Как проинформировать пользователя, что вычисления закончились? И можно попросить результат.
-Где хранить результат? У меня была идея хуячить вектора в связанный список, а потом тупо его выплевывать пользователю. Однако там может быть не один вектор, а целая куча данных. (до 5 матриц).
#585 #456631
>>456628
Ты мне бы лучше пояснил, как быть.
Я хочу гибридную программку: gui на qt и консольный интерфейс.
Суть этой программки в работе с самодельной библиотекой, которая решает одну мат задачу. inb4: Уебывай со своими лабораторками. Пишу чисто для себя, лол.

В ней три метода:
1. Конструктор, который принимает три параметра(<int>, <vector<vector>>, <vector>)
-Как проверить, что именно нужные типы пришли?
-Как захуячить проверку того, что второй вектор является квадратной матрицей?
-Как возвращать ошибки? Просто return INCORRECT_MATRIX;?

2. Метод run(), который вычисляет всю эту приблуду. В нем просто несколько функций, которые одна за другой вычисляют нужные данные. Схематично:

int run()
{
int temp = 0;
if((temp = doFoo()) != 0){ return temp; } //doFoo бросает 0, если все хорошо, и больше нуля, если все плохо.
if((temp = doBar()) != 0){return temp;}
//И так ещё несколько разных функций, которые обсчитывают некоторые данные.

return SUCCESS;
//В самом конце функции. Пользовательская программа уже может обработать и понять, что можно уже запросить результаты.
}

Тут самое интересное. Я хочу реализовать много поточность на этом этапе. Ведь пользователю, может быть, придется обсчитывать много данных:

-Как вообще должна правильно организовать многопоточность? Например, мне надо обсчитать 10 задач. Пользователь вводит, что хочет посчитать в 3 потоках, аля app.exe -t 3. И программа должна распределить задачи по потокам, поставить в очередь и т.д.
-Как проинформировать пользователя, что вычисления закончились? И можно попросить результат.
-Где хранить результат? У меня была идея хуячить вектора в связанный список, а потом тупо его выплевывать пользователю. Однако там может быть не один вектор, а целая куча данных. (до 5 матриц).
#586 #456632
>>456631
А да. И ещё про GUI.
Вот пользователь пишет через консольку:
app.exe --window

Адекватен ли вариант в функции main реализовать подобную конструкцию:

int main()
{
key // параметры командной строки, я их boost'ом разбираю их парсером.

if(key == "h") {getHelp();}
if(key == "b") {coreApp();} //типа консольная часть, которая реализует консольные возможности;

if(key == "window") {QApplication app(argc, argv); return app.exec();} //Запускаем уже GUI;
return 0;

}

Я вообще ещё не совсем понимаю, как это все функционирует(в плане GUI), поэтому, наверное, спрашиваю хуйню. Или это совсем уебанский вариант?
#587 #456646
http://pastebin.com/B8ZhBFy0

Тут часть кода только. При попытке скомпилировать с последней строчкой - ошибка компиляции. Почему?
sage #588 #456648
>>456631

>Как проверить, что именно нужные типы пришли?


В крестах нет дженериков, как в жабе, так что если ты объявил параметр как std::vector<int>, то это будет вектор из int'ов. Ничего проверять не надо.

>Как захуячить проверку того, что второй вектор является квадратной матрицей?


Создать тип Matrix с методом isSquare, где уже производить проверку, считая количество строк/столбцов.

>Как возвращать ошибки? Просто return INCORRECT_MATRIX;?


Для проверки объекта на ошибки в его состоянии (скажем, неправильные аргументы конструктора) делаешь метод isValid для класса, если же нужен конкретный тип ошибки, то что-то типа метода error, возвращающего один из элементов enum Error (в том числе NoError, если ошибки нет).

>Как вообще должна правильно организовать многопоточность


QFuture<ResultType> f = QtConcurrent::run(&function, arg1, arg2, ...);
QFutureWatcher<ResultType> *w = new QFutureWatcher<ResultType>;
connect(w, SIGNAL(finished()), receiver, SLOT(taskFinished()));
w->setFuture(f);

>вектор


>вектор


>вектор


Говно без задач. Используй list. Чтобы использовать вектор, нужно понимать, когда его надо использовать и почему.

>Адекватен ли вариант


Нет.
yourapp.exe - сосноль
yourapp-gui.exe - GUI. Гуи запускают внутри yourapp.exe и обмениваются данными через stdin/stdout/сокеты/локальные сокеты (пайп и т.п.).
93 Кб, 374x370
sage #589 #456649
>>456646
Хрустальный шар что-то подвис немного, щас дравйвер астрала переустановлю и угадаю. Полный код давай, долбоеб.
#590 #456651
>>456649

Уже разобрался.
sage #591 #456654
>>456651
Вот какие чудеса творит сажа.
#592 #456656
>>456648

>если же нужен конкретный тип ошибки


Можно пример реализации, заинтересовало.

>QFuture<ResultType> f = QtConcurrent::run(&function, arg1, arg2, ...);


Бля, не в том вопрос.
1. Многопоточностью должна заниматься пользовательская программа или математическая библиотека?
2. Можно ли без Qt (boost, STL) и

>automatically adjust the number of threads used according to the number of processor cores available.


А только пользовательская настройка (аля сколько потоков создавать на каждую задачу)? Или это слишком ебливо и не стоит об этом думать.

>yourapp.exe - сосноль


Есть статья с примерами? Нихуя не понял.
sage #593 #456663
>>456656

>Можно пример реализации, заинтересовало.


http://pastebin.com/0Y5dGLja

>Многопоточностью должна заниматься пользовательская программа или математическая библиотека?


Зависит от задач. Откуда я знаю, что тебе надо. В общем случае какие-то рекомендации дать невозможно.

>Можно ли без Qt


Можно. Гугли сам.

>А только пользовательская настройка (аля сколько потоков создавать на каждую задачу)?


QThreadPool::globalInstance()->setMaxThreadCount(100); (Но смысла в этом никакого, быстрее по понятным причинам не станет. Это имеет смысл только для задач, которые слабо процессор, типа работы с сетью.)

>Есть статья с примерами? Нихуя не понял.


Есть. В гугле. Хотя, если не понял, то рано тебе еще. Побольше опыта будет, тогда берись.
sage #594 #456664
>>456663

>слабо нагружают процессор


фикс
#595 #456771
>>456654

Ну на самом деле не разобрался, а тебя испугался и решил не ворошить дальше.
#596 #456897
Чем отличается int p от int p?
2 Кб, 222x16
#597 #456898
>>456897
Макака съела мои звёздачки.
#598 #456900
Чем отличается int p от int p?
#599 #457007
>>456898
ничем же
лол, это был 1-ый вопрос на моем собеседовании 2 года назад в интел
#600 #457130
Господа, какой есть элегантный путь сделать возможность подключения динамических либ? Есть вероятность, что нужно будет подключать так же СИшные.
Так же это должно быть "на горячую".

Пока у меня крайне убого выглядит. Хранится, например, так:

static const string LibraryInitName = "library_call_init"
typedef bool(LibraryInit)();
LibraryInit lib_initer;

И уже цепляется GetProcAddress или же dlsym. В зависимости от текущей ОС.

По сути либа должна содержать не более 5 обязательных функций.
Подобного типа: init(), uninit(), task_main(void *data), ... ;

Как вы понимаете, то решение крайне узкое. Есть ли какой-то более элегантный и расширяемый вариант?
#601 #458433
Есть задача. Не могу разобраться в выделенном месте. Мне надо организовать шифровку и дешифровку. Алфавит шифра и обычный я уже написал. Подскажите как заставить узнавать букву и заменять на букву из измененного алфавита. Скину на кошелек вам немного денег за помощь,обещаю.

#include <iostream>
#include <conio>
#include <windows>
#pragma hdrstop

//---------------------------------------------------------------------------
using namespace std;
char Rus(const char);
#pragma argsused

int main(int argc, char argv[])
{
char str[50], str1[50] = ""; // исходная строка
int k; // кол-во позиций для сдвига
int choice; // значение выбора действия
char m[32]; // массив русский алфавит
char s[32]; // массив преобразованный
int strlength;

char b = 128;
for(int i = 0; i < 32; i++)
{
m = b;
b++;
}

cout << Rus("Введите строковое сообщение: ") << endl;
gets(str);
cout << Rus("Введите количество позиций для сдвига") << endl;
cin >> k;
getchar();

if(k > 0)
for(int i = 0; i < 32; i++)
{
s[(i + k)%32] = m;
}

else
for(int i = 0; i < 32; i++)
{
s = m[(i - k)%32];
}

cout << Rus("Алфавит: ") << endl;
for(int i = 0; i < 32; i++) // вывод обычный алфавит
{
cout << m;
}

cout << endl;

for(int i = 0; i < 32; i++) // вывод шифрованный
{
cout << s;
}
cout << endl << endl;

cout << Rus("Для выбора действия выберите число") << endl;
cout << Rus("1 - шифрование") << endl;
cout << Rus("2 - дешифровка") << endl;
cin >> choice;

strlength = strlen(str);

if (choice == 1)
{
for(int i = 0; i < strlength; ++i)
{
str1 = m[str % 32];
}
}

else if (choice == 2)
{
for(int i = 0; i < strlength; ++i)
{
str1 = s[str - k % 32];
}
}

cout << endl << Rus("Результат:") << endl;
cout << str1 << endl;

cout << "----------------------------" << endl;
getch();
return 0;
}
//---------------------------------------------------------------------------
char Rus(const char *text)
{
static char BufRus[255];
CharToOem(text, BufRus);
return BufRus;
}
#601 #458433
Есть задача. Не могу разобраться в выделенном месте. Мне надо организовать шифровку и дешифровку. Алфавит шифра и обычный я уже написал. Подскажите как заставить узнавать букву и заменять на букву из измененного алфавита. Скину на кошелек вам немного денег за помощь,обещаю.

#include <iostream>
#include <conio>
#include <windows>
#pragma hdrstop

//---------------------------------------------------------------------------
using namespace std;
char Rus(const char);
#pragma argsused

int main(int argc, char argv[])
{
char str[50], str1[50] = ""; // исходная строка
int k; // кол-во позиций для сдвига
int choice; // значение выбора действия
char m[32]; // массив русский алфавит
char s[32]; // массив преобразованный
int strlength;

char b = 128;
for(int i = 0; i < 32; i++)
{
m = b;
b++;
}

cout << Rus("Введите строковое сообщение: ") << endl;
gets(str);
cout << Rus("Введите количество позиций для сдвига") << endl;
cin >> k;
getchar();

if(k > 0)
for(int i = 0; i < 32; i++)
{
s[(i + k)%32] = m;
}

else
for(int i = 0; i < 32; i++)
{
s = m[(i - k)%32];
}

cout << Rus("Алфавит: ") << endl;
for(int i = 0; i < 32; i++) // вывод обычный алфавит
{
cout << m;
}

cout << endl;

for(int i = 0; i < 32; i++) // вывод шифрованный
{
cout << s;
}
cout << endl << endl;

cout << Rus("Для выбора действия выберите число") << endl;
cout << Rus("1 - шифрование") << endl;
cout << Rus("2 - дешифровка") << endl;
cin >> choice;

strlength = strlen(str);

if (choice == 1)
{
for(int i = 0; i < strlength; ++i)
{
str1 = m[str % 32];
}
}

else if (choice == 2)
{
for(int i = 0; i < strlength; ++i)
{
str1 = s[str - k % 32];
}
}

cout << endl << Rus("Результат:") << endl;
cout << str1 << endl;

cout << "----------------------------" << endl;
getch();
return 0;
}
//---------------------------------------------------------------------------
char Rus(const char *text)
{
static char BufRus[255];
CharToOem(text, BufRus);
return BufRus;
}
#602 #458518
>>458433
Ебать говнина.
#603 #458541
>>458518
Всмысле
#604 #458648
>>458541
Пошол нахуй
#605 #458831
>>457007
А что за операция разыменования?
#606 #458916
>>458831
а у тебя классные вопросы.
ладно, не буду быдлом как все тут, отвечу - разыменование указателя - операция получения по адресу указателя его содержимого.
int v = 10; int p = &v;
std::cout <<
p; // разыменование
#607 #458917
>>458916
ну ты понел там вездочка перед р
#608 #459420
[code]
#include <stdio.h>
#include <cstring>

const int SIZE = 1024;

//Следующая функция осуществляет конкатенацию си-строк.
//Результирующая строка возвращается в качестве значения функции.

char cat(const char s1, const char s2)
{
\tchar
result = new char[strlen(s1) + strlen(s2) + 1];
\twhile (result++ = s1++)
\t\t;
\tresult--;
\twhile (result++ = s2++)
\t\t;
\treturn result;
}

//Тест.

int main()
{
\tchar s1[SIZE];
\tscanf_s("%1023s", s1);
\tchar s2[SIZE];
\tscanf_s("%1023s", s2);
\tprintf("%s", cat(s1, s2));
\treturn 0;
}
[/code]

При попытке запуска ошибка: "Необработанное исключение по адресу 0x0F381340 (msvcr120d.dll) в cat.exe: 0xC0000005: нарушение прав доступа при записи по адресу 0x00CE0000."

Прошу ссаными тряпками не гнать, я шкальник и сам осознаю свою ничтожность.
#608 #459420
[code]
#include <stdio.h>
#include <cstring>

const int SIZE = 1024;

//Следующая функция осуществляет конкатенацию си-строк.
//Результирующая строка возвращается в качестве значения функции.

char cat(const char s1, const char s2)
{
\tchar
result = new char[strlen(s1) + strlen(s2) + 1];
\twhile (result++ = s1++)
\t\t;
\tresult--;
\twhile (result++ = s2++)
\t\t;
\treturn result;
}

//Тест.

int main()
{
\tchar s1[SIZE];
\tscanf_s("%1023s", s1);
\tchar s2[SIZE];
\tscanf_s("%1023s", s2);
\tprintf("%s", cat(s1, s2));
\treturn 0;
}
[/code]

При попытке запуска ошибка: "Необработанное исключение по адресу 0x0F381340 (msvcr120d.dll) в cat.exe: 0xC0000005: нарушение прав доступа при записи по адресу 0x00CE0000."

Прошу ссаными тряпками не гнать, я шкальник и сам осознаю свою ничтожность.
Тред утонул или удален.
Это копия, сохраненная 17 апреля 2015 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски