小编Pra*_*ari的帖子

为什么字符串在新编译器中不可修改

在Turbo C/C++的日子里,您可以轻松修改字符串

char * str = "Hello";
str[1] = '1'; //it will make it H1llo;
Run Code Online (Sandbox Code Playgroud)

现在存储它们.bss,您不能直接修改它们.为什么?这不会使修改字符串变得困难吗?

对它有任何快速解决方法(但没有副作用)吗?我strdup()喜欢功能,但直接修改字符串真的很有趣.

c c++ compiler-construction string

0
推荐指数
1
解决办法
442
查看次数

应用程序不显示在任务栏中

我的项目是在C#.Net中,我们不想在任务栏上显示所选的应用程序.即具有UI,但客户希望它不应显示在任务栏上.

你能以任何方式提出建议吗?

@Edited问题

.net c# windows

0
推荐指数
1
解决办法
85
查看次数

Digital Forensic和Reverse Engineering有什么区别?

我无法理解数字取证和逆向工程的确切差异.Will Digital Forensic与反编译,汇编代码读取或调试有什么关系?

谢谢

debugging assembly decompiling reverse-engineering

0
推荐指数
2
解决办法
786
查看次数

如何在Java中使用引用(地址)和默认参数进行调用?

我是C++/C#开发人员,也是Java新手.在互联网上发现的一些参考文献表明我们不能在Java中通过引用调用.这是完全正确的,还是以任何方式我可以从函数中返回多个值?

其次,默认参数似乎不支持Java,我也试图找到有没有办法在Java中使用默认参数.

谢谢.

java

0
推荐指数
1
解决办法
158
查看次数

无法理解异步等待行为?

我有以下代码,

using System;
using System.Threading.Tasks;


namespace asyncawait
{
    class Practice
    {
       async Task<int>  Method()
        {
            for (int i = 0; i < int.MaxValue ; i++);

            return 10;
        }

       public async void caller()
        {

           int a = await Method();
           Console.WriteLine("Please print it first");
           Console.WriteLine(a);
           Console.WriteLine("Please print it last");

        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Practice p = new Practice();
            p.caller();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

建设项目时的警告:

Program.cs(9,25,9,31):警告CS1998:这个异步方法缺少'await'运算符并将同步运行.考虑使用'await'运算符等待非阻塞API调用,或'await Task.Run(...)'在后台线程上执行CPU绑定工作.

我的期望是,

预期输出:(第一行应立即打印)

请先打印//不要等,因为我没有使用a,功能等待
10
请最后打印

实际产量:

请先打印//等待执行功能然后打印输出
10 …

c# multithreading asynchronous task-parallel-library async-await

0
推荐指数
1
解决办法
1483
查看次数

客观C运行时如何查找已定义的消息?

我是客观C的新手,从C/C++背景来看,我正在努力去理解客观C的动态.

使用Objective-C编程第38页

请考虑以下代码:

id someObject = @"Hello, World!";
[someObject removeAllObjects];
Run Code Online (Sandbox Code Playgroud)

在这种情况下,someObject将指向一个NSString实例,但除了它是某种对象之外,编译器对该实例一无所知.所述removeAllObjects消息是由一些可可或可可触摸对象(如定义的NSMutableArray),从而,编译器不抱怨,即使该代码将在运行时生成异常,因为一个NSString对象无法removeAllObjects响应.

removeAllObjects消息由一些Cocoa或Cocoa Touch对象(例如NSMutableArray)定义,因此编译器不会抱怨.

这是否意味着,运行时实际上会查找所有实现的方法?如果是,它是否会影响性能?

请提出我的理解是否错误.

谢谢.

cocoa dynamic objective-c objective-c-runtime

0
推荐指数
1
解决办法
143
查看次数

为什么代码在使用unique_ptr时崩溃,原始指针工作正常?

这是我的代码,我将值分配给树的节点.我可以很好地分配到树的左右孩子.但是当我尝试使用root的left-> left child时,它会给我访问冲突错误.

Trees.exe中0x00DE5CC3处的未处理异常:0xC0000005:访问冲突读取位置0x00000004.

正确地得到错误,unique_ptr<node> (r->left->left) = newNode(4);.

我正在使用unique_ptr,如果我使用原始指针,一切都按预期工作.

以下是我的代码,

using std::cout;
using std::endl;
using std::unique_ptr;


struct node
{
    int data;
    node * left;
    node * right;
};

unique_ptr<node> newNode (int i)
{
    unique_ptr<node> n (new node);
    n->data = i;
    n->left = nullptr;
    n->right = nullptr;

    return n;
}

int main(int argc, char* argv[])
{
    unique_ptr<node> r = newNode(1); 
    unique_ptr<node> (r->left) = newNode(2);
    unique_ptr<node> (r->right) = newNode(3);
    unique_ptr<node> (r->left->left) = newNode(4);//this line craches 
    unique_ptr<node> (r->left->right) = …
Run Code Online (Sandbox Code Playgroud)

c++ crash pointers unique-ptr c++11

0
推荐指数
1
解决办法
749
查看次数

由于没有使用赋值运算符,map 的值是如何初始化的?

#include <iostream>
#include <map>

using namespace std;
int main()
{
    map<int, int> m;
    for (int i = 0; i < 5; i++)
        m[i]++;

    for (int i = 0; i < 5; i++)
        cout<<m[i];
}
Run Code Online (Sandbox Code Playgroud)

输出:

11111

现在,如何初始化 m[i] 的值?它不应该转换为 m[i] 的值加 1 吗?

c++

0
推荐指数
1
解决办法
48
查看次数

按位运算符比+和 - 运算符更快

请参阅链接.

建议计算数字绝对值的最快方法是使用(相对困难的)按位运算符.

我知道按位运算符比除法和乘法更快.但它们是否比+和 - 运算符更快?

谢谢

javascript c c++ bit-manipulation bit-shift

-1
推荐指数
2
解决办法
1979
查看次数

为什么在模板头的末尾添加.cpp不是循环依赖?

我不敢问为什么我需要在模板声明.cpp结束.h时添加.因为它已在StackOverflow中多次回答.

但我的问题是,当我在标题末尾添加.cpp时,为什么它不是循环依赖,或者编译器如何不继续添加.cpp进入.h.h进入.cpp

C++ 11是否试图解决这个奇怪的模板要求?

@Edit:只包含头文件

#ifndef MYMAP
#define MYMAP

#include <iostream>
#include <string>

using namespace std;

template<typename ValType>
class MyMap
{
public:
    MyMap();
    ~MyMap();

    void add(string key, ValType val);
    ValType getValue(string key);

private:

    static const int NumBuckets = 99;

    struct cellT
    {
        string key;
        ValType val;
        cellT* next;
    };

    cellT *buckets[NumBuckets];

    int hash(string key, int numBuckets);

    cellT* findCellForKey(string key, cellT *head);

    MyMap(MyMap&);
    MyMap operator = (MyMap&);


};

#include …
Run Code Online (Sandbox Code Playgroud)

c++ templates circular-dependency c++11

-2
推荐指数
1
解决办法
292
查看次数

为什么我无法刷新WM_NCPAINT对话框,但与WM_SIZE一起工作正常?

我在MFC中有对话框应用程序.要刷新我们正在使用的对话框上的视图WM_NCPAINT,它会调用OnNCPaint,但有时视图不会刷新.行为并不总是可重复的.同样的行为WM_PAINT也在发生.

当我们使用时SendMessage(WM_SIZE),行为不可重现,并按预期工作.

在检查代码之前,我想确定,我应该使用WM_SIZE而不是WM_NCPAINTWM_PAINT,因为它可以正常使用它.

c++ windows winapi mfc visual-c++

-2
推荐指数
2
解决办法
635
查看次数