小编Pra*_*ari的帖子

#pragma曾经添加包含警卫吗?

#pragma once不是标准的,但是由gcc和VC++等编译器支持.它有助于避免包含警卫.

但是,在内部,编译器是否添加包含保护#pragma once?如果没有,编译器如何确保只包含一次这样的头?

c c++

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

如何cout比printf()更安全类型

我在很多地方看过这个,但不明白.为什么说cout比printf()更安全.仅仅因为它不需要写%d %c %f或它有更深层的含义.

提前致谢.

c c++ cout

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

iostream的确切含义是与ios_base :: sync_with_stdio同步

这只是意味着我们用cout与stdout同步的对象做了什么(反之亦然?).这到底意味着什么?stdio是否也与stdout同步?

c c++ iostream stdout

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

当我们使用右值引用时,究竟会发生什么?std :: move如何工作?

我试图理解右值引用和移动语义.在下面的代码中,当我将10传递给Print函数时,它会调用rvalue reference overload,这是预期的.但究竟发生了什么,10将被复制(或从它引用的地方).其次,std::move究竟做了什么?它是从中提取值10 i然后通过它吗?或者是编译器使用右值参考的指令?

void Print(int& i)
{
    cout<<"L Value reference "<<endl;
}

void Print(int&& i)
{
    cout<<"R Value reference "<< endl;
}

int main()
{
    int i = 10;

    Print(i); //OK, understandable
    Print(10); //will 10 is not getting copied? So where it will stored

    Print(std::move(i)); //what does move exactly do

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

谢谢.

c++ rvalue-reference move-semantics c++11

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

为什么这段代码不会导致内存泄漏?

我想在我的应用程序中模拟内存泄漏.我写下面的代码,并试图在perfmon中看到.

int main()
{
    int *i;
    while(1)
    {

        i = (int *) malloc(1000);

        //just to avoid lazy allocation
        *i = 100;

        if(i == NULL)
        {
            printf("Memory Not Allocated\n");
        }

        Sleep(1000);
    }
}
Run Code Online (Sandbox Code Playgroud)

当我在任务管理器中看到使用过的内存时,它在52K和136K之间波动,但不会超过它.手段,有些东西它显示52K,有时136K,我不明白这个代码一旦达到136K,回到52K,并没有超越那个.

我尝试使用perfmon,但不能准确地在perfmon中看到什么,计数器的快照, 在此输入图像描述

请建议如何模拟内存泄漏以及如何检测它.

c c++ memory-leaks perfmon

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

更改框架版本导致:无法加载文件或程序集 PresentationFramework?

我正在开发 WPF 应用程序,该应用程序首先针对 3.0 框架。当我试图让它在 4.0 上工作时,我得到了以下异常。

System.IO.FileNotFoundException 未处理消息:无法加载文件或程序集“PresentationFramework,版本 = 3.0.0.0,文化 = 中性,PublicKeyToken = 31bf3856ad364e35”或其依赖项之一。该系统找不到指定的文件。

如果我使用 .Net 4.0 编译应用程序,它工作正常。但是 3.0 exe 不适用于 4.0。

提前致谢。

.net wpf frameworks

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

CRT如何调用main,具有不同的参数

我们可以用几种方式编写main函数,

  1. int main()
  2. int main(int argc,char *argv[])
  3. int main(int argc,char *argv[],char * environment)

运行时CRT函数如何知道应该调用哪个main.请注意这里,我不是在询问是否支持Unicode.

c c++

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

如何在函数指针中使用函数的地址?

我的以下代码工作正常.但我有点怀疑,请看看//Comment1//Comment2

#include<stdio.h>
#include<string.h>

struct PTR
{
    int (*funptr)(int);
};

int fun1(int)
{
    printf("Fun1\n");
    return 0;
}

int fun2(int)
{
    printf("Fun2\n");
    return 0;
}

int main()
{
    PTR p;
    p.funptr = &fun1; //Comment1
    p.funptr(5);

    printf("\n");

    p.funptr = fun2; //Comment2
    p.funptr(5);


  return 0;

}
Run Code Online (Sandbox Code Playgroud)

输出:Fun1 Fun2

输出没有问题.

在comment1'和'opertor被使用,所以我们正在探讨告诉获取地址,在评论2中,我们没有使用'&',那么哪一个是正确的方法?

c pointers

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

如何在iOS中设置表格视图的上边距?

我是iOS开发的新手,我的代码在iOS6中运行良好,但在iOS7中它有一些UI问题.

请看下面的图片.我想在表格视图中添加边距,但如上所述它在iOS 6中是完美的.问题可能看起来非常基本,但我试图找到任何可以添加边距的属性.

其次,如果我需要以编程方式进行,请建议我应该在哪里编写代码.

我试图在谷歌搜索,但可能是我无法搜索正确的条款.我是C++开发人员,也是Objective C和Mac的新手.

在此输入图像描述

uitableview ios

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

每个线程如何拥有CPU寄存器

在我读过的几个地方,

每个线程都有自己的一组CPU寄存器和自己的堆栈

在这里,我可以理解堆栈,它是一个数据结构.但是线程如何拥有自己的CPU寄存器.它们已修复数量,并且系统中正在运行无限数量的线程.

问候

windows process

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