小编cpr*_*mer的帖子

SQLite整数数据类型如int,integer,bigint等有什么区别?

sqlite中整数数据类型有什么区别?

INT
INTEGER
TINYINT
SMALLINT
MEDIUMINT
BIGINT
UNSIGNED BIG INT
INT2
INT8

哪一个可以存储32位整数,哪一个可以存储64位值?是否支持128位?

我发现整数数据大小现在有点令人困惑,例如INTEGER可以存储多达64位的有符号整数,但是值可能只占用磁盘上的32位.

sqlite3_column_int只有当存储的值小于int32 max值时,调用INTEGER列才会起作用,如果更高,它将如何表现?

sqlite

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

从析构函数调用虚函数

这样安全吗?

class Derived:  public PublicBase, private PrivateBase
{
 ... 

   ~Derived()
   {
      FunctionCall();
   }

   virtual void FunctionCall()
   {
      PrivateBase::FunctionCall();
   }
}

class PublicBase
{
   virtual ~PublicBase(){};
   virtual void FunctionCall() = 0;
}

class PrivateBase
{
   virtual ~PrivateBase(){};
   virtual void FunctionCall()
   {
    ....
   }
}


PublicBase* ptrBase = new Derived();
delete ptrBase;
Run Code Online (Sandbox Code Playgroud)

此代码有时会在错误的地址中使用IP.

对于每个人来说,在构造函数上调用虚函数并不是一个好主意.

来自像http://www.artima.com/cppsource/nevercall.html这样的文章我明白析构函数也是一个不太适合调用虚函数的地方.

我的问题是"这是真的吗?" 我已经测试过VS2010和VS2005并且调用了PrivateBase :: FunctionCall.未定义的行为?

c++ virtual

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

给定一个数组,我可以在O(n)中找到最长范围,其端点是该范围内的最大值吗?

对于给定的整数数组,找到2个点(i和j)之间的最大距离,这些距离的值高于它们之间的任何元素.

例:

values: 0 10  8  9  6  7  4 10  0
index : 0  1  2  3  4  5  6  7  8 

对于上述值,解是i = 1,j = 7,但是

  • 如果索引7的值是9而不是10,则解是i = 3,j = 7
  • 如果索引7的值是7而不是10,则解是i = 5,j = 7

我无法在O(n)......任何人看到解决方案?

arrays algorithm math big-o

33
推荐指数
3
解决办法
5673
查看次数

STL内部:deque实现

我使用std :: deque来存储大量的项目.
我知道deques是作为矢量列表实现的.这些矢量的大小无法设置,但我喜欢选择该大小的算法.

c++ stl internals

13
推荐指数
1
解决办法
1万
查看次数

Windbg设置依赖于调用堆栈的条件断点

问题:如果callstack上的某个地方是具有特定名称的函数,我需要创建一个不会破坏的脚本或表达式.

具体问题:如何将callstack上的函数转换为字符串列表?

示例:

Module!MyFunctionWithConditionalBreakpoint    
Module!Function1   
Module!Function2    
Module!Function3  


Module!MyFunctionWithConditionalBreakpoint    
Module!Function1   
Module!ClassA:MemberFunction    
Module!Function3
Run Code Online (Sandbox Code Playgroud)

我只想Module!MyFunctionWithConditionalBreakpoint打电话来打破Module!ClassA:MemberFunction

我需要在非托管代码中使用它.托管解决方案就像

System.Diagnostics.StackTrace().toString()方法.包含( "YourMethodName")

c++ debugging windbg

10
推荐指数
1
解决办法
2437
查看次数

如何识别生成警告的标头?

我相信很多人都熟悉这套警告.这些是包含文件生成的大部分时间.解决方案是pragma push/disable/pop,但识别标题不是一个好任务.

除了反复试验之外,有没有人知道识别标题的方法?

1>File1.cpp
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\cstdio(49) : warning C4995: 'gets': name was marked as #pragma deprecated
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\cstdio(53) : warning C4995: 'sprintf': name was marked as #pragma deprecated
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\cstdio(56) : warning C4995: 'vsprintf': name was marked as #pragma deprecated
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\cstring(22) : warning C4995: 'strcat': name was marked as #pragma deprecated
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\cstring(23) : warning C4995: 'strcpy': …
Run Code Online (Sandbox Code Playgroud)

c++ visual-studio

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

快速搜索压缩文本文件

我需要能够在压缩的大量文件(.txt)中搜索文本.压缩可以改为其他东西,甚至可以变成专有的.我想避免解压缩所有文件并压缩(编码)搜索字符串并在压缩文件中搜索.这应该可以使用霍夫曼压缩与所有文件的相同码本.我不想重新发明轮子,所以..任何人都知道,做这样的事情或霍夫曼算法实现和测试,或者一个更好的主意库?

提前致谢

c++ compression algorithm full-text-search huffman-code

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

Boost.Log与Boost.Log v2

我目前正在评估一些非托管C++的日志框架.

我的问题是:Boost.Log和Boost.Log v2有什么区别?
Api是不同的?在项目中使用Boost.Log v2是否安全,还是应该坚持使用Boost.Log 1.1?
何时被Boost接受?它可能在未来遭受重大变化?

c++ boost boost-logging boost-log

6
推荐指数
1
解决办法
2531
查看次数

从 std::thread::id 结构中检索 Windows 线程标识符

std::thread::id我可以在代码中访问 a ,并且需要使用一些接收参数 ThreadId as DWORD(与返回的相同GetCurrentThreadId())的本机函数。

我找不到任何方法来转换std::thread::id为 Win32 DWORDThreadId。我能找到的最接近的是std::thread有一个native_handle。但我仍然无法创建 来从 astd::thread获取native_handlestd::thread::id,所以我离我需要的还太远。

我有什么遗漏的吗?或者标准可移植线程函数和本机函数之间的差距是否太大以至于标准 api 无法用于我的目的?

c++ multithreading c++11 stdthread

5
推荐指数
1
解决办法
2424
查看次数

Windbg:在类中的所有函数上放置断点

我需要一种简单的方法来在类中的所有函数上放置断点.像这样的东西bp myDll!MyClass::*

windbg

4
推荐指数
1
解决办法
1818
查看次数