小编fbr*_*eto的帖子

数组未正确返回

我试图返回一个简单的数组,但我没有得到正确的结果.我得到以下内容

arr1[0] = 1 
arr1[1] = 32767
Run Code Online (Sandbox Code Playgroud)

结果应该是结果

  arr1[0] = 1 
  arr1[1] = 15
Run Code Online (Sandbox Code Playgroud)

请建议.

int *sum(int a, int b){
  int arr[2];
  int *a1;
  int result = a+b;
  arr[0]= 1;
  arr[1]= result;
  a1 = arr;
  return a1;
}
int main(){  

  int *arr1 =  sum(5,10);
  cout<<"arr1[0] = "<<arr1[0]<<endl;
  cout<<"arr1[1] = "<<arr1[1]<<endl;

  return 0;

}
Run Code Online (Sandbox Code Playgroud)

c++ arrays

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

NSString的内存问题

我遇到了NSString的问题.

NSString* str = [[NSString alloc] initWithString:@"Hello world"];
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我是否需要释放对象str?根据规则,此对象是使用alloc创建的,因此应使用release方法显式释放.但是,当我没有明确释放它时,我在仪器中找不到任何内存泄漏.当NSString被NSNumber替换时,会发生内存泄漏.

谁能给我一些建议?谢谢.

cocoa objective-c

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

寻找C++的应用程序GUI库

我正在考虑写一个非常简单的绘画程序.我想要一种更先进的方法将数据输入我的程序,如颜色,画笔的粗细等.我想使用GUI库,所以我可以编程按钮和菜单,使输入更容易.

有什么建议?

(我正在运行Visual C++ 2005 SP1)

c++ user-interface

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

保存激活密钥的位置

我正在使用C#并拥有用户输入的密钥以激活我的程序.我不希望用户在输入密钥后能够看到密钥.您对如何/在何处储存它有什么建议吗?

c# key save

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

删除临时文件时Win32文件权限共享冲突

我有一个应用程序,我试图通过以下方式实现"安全文件覆盖":

  1. 创建文件(A)
  2. 填写 A数据
  3. 通过复制A到最终目的地(B)SHFileOperation
  4. 删除A使用DeleteFile

但是,在步骤4中,DeleteFile始终返回ERROR_SHARING_VIOLATION.整个过程需要几毫秒,所以我无法想象还有谁会干扰我的文件.几个问题:

  1. 是否有更好的Win32(C/C++)技术来执行上述操作?
  2. 如何获取有关阻止我删除文件的"其他进程"的更多信息A
  3. 我如何轻轻地(眨眨眼推动轻推)迫使Windows删除我的临时文件?

欢迎任何其他建议

winapi file-permissions

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

C++破坏表达式中的临时对象

给出以下代码:

#include <iostream>

struct implicit_t
{
    implicit_t(int x) :
        x_m(x)
    {
        std::cout << "ctor" << std::endl;
    }

    ~implicit_t()
    {
        std::cout << "dtor" << std::endl;
    }

    int x_m;
};

std::ostream& operator<<(std::ostream& s, const implicit_t& x)
{
    return s << x.x_m;
}

const implicit_t& f(const implicit_t& x)
{
    return x;
}

int main()
{
    std::cout << f(42) << std::endl;

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

我得到以下输出:

ctor
42
dtor
Run Code Online (Sandbox Code Playgroud)

虽然我知道这是正确的,但我不确定为什么.有没有stdc ++知识的人可以向我解释一下?

c++ constructor destructor temporary-objects

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

MSVC9:如何查看内存中的位置?

我很确定我忽略了一些非常明显的东西,但我想在MSVC9下查看内存中一个点的原始内容,但是我无法在UI中找到可以打入内存地址的位置.如何才能做到这一点?

c++ memory debugging visual-c++

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

关于自动引用计数,我需要了解什么?

我有一个应用程序我正在更新到最新版本的Xcode,并且遇到了与自动引用计数(ARC)相关的多个错误.

这些错误让我打电话给例如,autorelease并调整我编写的处理内存管理的其他代码.

锵文件上写着:

[ARC]不提供循环收集器; 用户必须明确管理生命周期.

......这让我很紧张 过去,我一直被Objective-C内存管理问题所困扰retain,release并且autorelease在我的代码中依赖于验证每一个.

现在,ARC正在呼唤我改变我的内存管理语义.为了建立对ARC内存管理的信心,我需要知道什么?

xcode memory-management objective-c clang automatic-ref-counting

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

GSL解决了钟摆运动的ODE问题

考虑到摆锤初始角度(x),重力加速度(g),线长度(l)和时间步长(h),我试图求解摆动运动的微分方程.我用Euler方法试过这个,一切都没问题.但现在我要使用在GSL中实现的Runge-Kutta方法.我试图从gsl手册中学习它,但我遇到了一个问题.钟摆不想停下来.假设我以初始角度1 rad开始它,无论它已经做了多少波动,它始终具有1弧度的峰值倾斜.这是我用来给GSL的公式和函数:

x''(t) + g/l*sin(x(t)) = 0
Run Code Online (Sandbox Code Playgroud)

改造它:

x''(t) = -g/l*sin(x(t))
Run Code Online (Sandbox Code Playgroud)

和分解:

y(t) = x'(t)
y'(t) = -g/l*sin(x(t))
Run Code Online (Sandbox Code Playgroud)

这是代码片段,如果这还不够,我可以发布整个程序(它不会太长),但也许这里的问题在某处:

    int func (double t, const double x[], double dxdt[], void *params){
        double l = *(double*) params;
        double g = *(double*) (params+sizeof(double));
        dxdt[0] = x[1];
        dxdt[1] = -g/l*sin(x[0]);
        return GSL_SUCCESS;
    }
Run Code Online (Sandbox Code Playgroud)

参数gl正确传递给函数,我已经检查过了.

c ode gsl differential-equations

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

boost :: bool_testable <>是否已重新定位或删除?

我正在尝试利用boost::bool_testable<>(来自Boost.Operators)为类实现安全bool习语,但是最新版本的库(此帖子中的1.49)似乎不再具有它.

它去了哪里?现在有更好的替代方案,而我错过了吗?

我无法使用C++ 11,因此无法使用不需要安全bool的语言扩展.

c++ boost safe-bool-idiom

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