小编chi*_*yer的帖子

is_convertible is_assignable之间有什么区别?

is_convertible和之间有什么区别is_assignable

为什么,

在vs2012

is_convertible<int, int&> is false

is_assignable<int, int&> is true
Run Code Online (Sandbox Code Playgroud)

在gcc4.7.2中

is_convertible<int, int&> is false

is_assignable<int, int&> is false
Run Code Online (Sandbox Code Playgroud)

c++ type-traits

23
推荐指数
1
解决办法
1776
查看次数

有没有办法在Linux中的32位程序中获得64位time_t

在Windows上我可以打电话:

_time32(__time32_t); // to get 32bit time_t
_time64(__time64_t); // to get 64bit time_t
Run Code Online (Sandbox Code Playgroud)

(32位和64位程序)

在Linux中有没有办法做到这一点(用GCC编译)?

c linux time gcc

15
推荐指数
3
解决办法
2万
查看次数

forward <T>(a)和(T &&)之间有什么区别(a)

template<typename T>  
void outer(T&& t) {inner(forward<T>(t));}  

template<typename T>  
void outer(T&& t) {inner((T&&)(t));}  
Run Code Online (Sandbox Code Playgroud)

有什么不同?

c++ c++11

9
推荐指数
2
解决办法
537
查看次数

is_assignable <>的结果不一致

可能重复:
is_convertible is_assignable之间有什么区别

我用这个测试代码:

cout<<std::is_assignable<int, int>::value<<endl;
cout<<std::is_assignable<int, char>::value<<endl;
cout<<std::is_assignable<int&, int>::value<<endl;
cout<<std::is_assignable<int&, char>::value<<endl;
cout<<std::is_assignable<int, int&>::value<<endl;
cout<<std::is_assignable<int, char&>::value<<endl;
Run Code Online (Sandbox Code Playgroud)

vs2012的结果是:

true
true
true
true
true
true
Run Code Online (Sandbox Code Playgroud)

在gcc4.7.2我得到:

false
false
true
true
false
false
Run Code Online (Sandbox Code Playgroud)

根据标准,哪个结果是正确的?

c++

7
推荐指数
1
解决办法
188
查看次数

关于Windows中的TLS回调

这是测试代码

#include "windows.h"
#include "iostream"
using namespace std;

__declspec(thread) int tls_int = 0;

void NTAPI tls_callback(PVOID, DWORD dwReason, PVOID)   
{
    tls_int = 1;
}

#pragma data_seg(".CRT$XLB")
PIMAGE_TLS_CALLBACK p_thread_callback = tls_callback;
#pragma data_seg()

int main()
{
    cout<<"main thread tls value = "<<tls_int<<endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

使用多线程调试DLL(/ MDd)运行结果:主线程tls值= 1

使用多线程调试(/ MTd)运行结果:主线程tls值= 0

看起来无法捕获使用MTd时创建的主线程

为什么?

c++ thread-local-storage

6
推荐指数
2
解决办法
8303
查看次数

标签 统计

c++ ×4

c ×1

c++11 ×1

gcc ×1

linux ×1

thread-local-storage ×1

time ×1

type-traits ×1