小编moa*_*ala的帖子

使用UNIX端行配置Visual Studio?

我们希望Visual Studio 2005能够处理SVN存储库的本地副本; 这个本地副本已经由Mac OS X签出(和更新,并提交将只在Mac OS X中进行,所以没有问题与),并因此行的末尾是UNIX.

我们担心Visual Studio会引入WINDOWS行尾.是否可以强制Visual Studio使用UNIX行尾?

谢谢.

visual-studio-2005 line-endings visual-studio end-of-line

61
推荐指数
7
解决办法
6万
查看次数

如何编写unsigned short int literal?

42作为unsigned int被明确定义为"42U".

unsigned int foo = 42U; // yeah!
Run Code Online (Sandbox Code Playgroud)

如何写"23"以便很明显它是一个无符号短整数?

unsigned short bar = 23; // booh! not clear!
Run Code Online (Sandbox Code Playgroud)

编辑,以便问题的含义更清晰:

template <class T>
void doSomething(T) {
    std::cout << "unknown type" << std::endl;
}

template<>
void doSomething(unsigned int) {
    std::cout << "unsigned int" << std::endl;
}

template<>
void doSomething(unsigned short) {
    std::cout << "unsigned short" << std::endl;
}

int main(int argc, char* argv[])
{
    doSomething(42U);
    doSomething((unsigned short)23); // no other option than a cast?

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

c++ types

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

C++浮点指向整数类型转换

在C++中用于将float类型的数据转换为整数的不同技术有哪些?

#include <iostream>

using namespace std;
struct database {
  int id, age;
  float salary;
};

int main() {
  struct database employee;
  employee.id = 1;
  employee.age = 23;
  employee.salary = 45678.90;
  /*
     How can i print this value as an integer
     (with out changing the salary data type in the declaration part) ?
   */
  cout << endl << employee.id << endl << employee.
  age << endl << employee.salary << endl;
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ floating-point integer type-conversion typecast-operator

28
推荐指数
4
解决办法
15万
查看次数

在MacOS中编译C++代码时的dSYM目录

为什么在Mac中编译C++总是创建*.dSYM目录?有没有办法禁用它?

c++ compiler-construction macos debug-symbols

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

使用g ++不会发生静态初始化和破坏静态库的全局变量

直到前一段时间,我认为.a静态库只是.o目标文件的集合,只是归档它们而不是以不同的方式处理它们.但是链接到.o对象并链接到包含此.o对象的.a静态库显然是不一样的.我不明白为什么......

我们来考虑以下源代码文件:

// main.cpp
#include <iostream>
int main(int argc, char* argv[]) {
    std::cout << "main" << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
// object.hpp
#include <iostream>
struct Object
{
    Object() { std::cout << "Object constructor called" << std::endl; }
    ~Object() { std::cout << "Object destructor called" << std::endl; }
};
Run Code Online (Sandbox Code Playgroud)
// object.cpp
#include "object.hpp"
static Object gObject;
Run Code Online (Sandbox Code Playgroud)

让我们编译并链接并运行以下代码:

g++ -Wall object.cpp main.cpp -o main1
./main1
> Object constructor called
> main
> Object destructor called
Run Code Online (Sandbox Code Playgroud)

构造函数是全局gObject对象的析构函数.

现在让我们从代码中创建一个静态库,并在另一个程序中使用(链接)它:

g++ …
Run Code Online (Sandbox Code Playgroud)

c++ linker g++ global-variables static-libraries

22
推荐指数
1
解决办法
8740
查看次数

c ++标记枚举值是否已弃用?

是否可以将枚举值标记为已弃用?

例如

enum MyEnum {
    firstvalue = 0
    secondvalue,
    thirdvalue, // deprecated
    fourthvalue
};
Run Code Online (Sandbox Code Playgroud)

二等奖解决方案是ifdef MSVC和GCC解决方案.

c++ enums deprecated

22
推荐指数
3
解决办法
4699
查看次数

如何在调试字符串的函数中获取函数名称?

我想在每次调用时输出函数名称,我可以轻松地复制并粘贴函数名称,但是我想知道是否有一个快捷方式可以帮我完成这项工作?

目前我正在做的事情:

SlideInfoHeader* lynxThreeFile::readSlideInfoHeader(QDataStream & in)
{
    qDebug("lynxThreeFile::readSlideInfoHeader");
} 
Run Code Online (Sandbox Code Playgroud)

但我想要的是通用的东西:

SlideInfoHeader* lynxThreeFile::readSlideInfoHeader(QDataStream & in)
{
    qDebug(this.className() + "::" + this.functionName());
}
Run Code Online (Sandbox Code Playgroud)

c++ debugging qt

19
推荐指数
5
解决办法
7627
查看次数

为什么不为C++提供DELETE宏的原因

有没有什么好的理由(除了"宏是邪恶的",也许)不使用以下宏?

#define DELETE( ptr ) \
if (ptr != NULL)      \
{                     \
    delete ptr;       \
    ptr = NULL;       \
}

#define DELETE_TABLE( ptr ) \
if (ptr != NULL)            \
{                           \
    delete[] ptr;           \
    ptr = NULL;             \
}
Run Code Online (Sandbox Code Playgroud)

c++ macros pointers memory-management

17
推荐指数
6
解决办法
8826
查看次数

给一个提升线程命名?

是否可以为a命名,boost::thread以便调试器表和崩溃日志更具可读性?怎么样?

c++ debugging boost-thread

17
推荐指数
1
解决办法
9902
查看次数

SQLite:SELECT语句中的accumulator(sum)列

我有一张像这样的桌子:

SELECT值FROM表;

value
1
3
13
1
5
Run Code Online (Sandbox Code Playgroud)

我想添加一个累加器列,以便我有这个结果:

value  accumulated
1      1
3      4
13     17
1      18
5      23
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?我想做什么真正的名字是什么?谢谢

sql sqlite sum running-total accumulator

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