小编Fra*_*zzi的帖子

为什么我要编写std :: cout而不是std :: <<

为什么我必须写,std::cout而不是std::<<像这样的代码行:

#include <iostream>

int main() {
    std::cout << "Hello, world!";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

cout来自std库,<<通常不习惯进行位移?那么,为什么我::之前也不必编写范围运算符<<,因为它也用于其他含义?编译器如何知道后std::cout,<<意味着另一件事?

c++

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

将位写入C中的文件

我有这个字符串:"101"我想把它写成一个文件,在C中,而不是文本:"101",所以8位x char.但直接使用字符串作为位:位"1",位"0"和位"1",因此文件将为3位.

有可能吗?我在网上搜索过,我试过这样做:

char c[25] = "101";
FILE *binFile = fopen("binFile.bin", "wb");
int x = atoi(c);
fwrite(&x, sizeof(x), 1, binFile);
Run Code Online (Sandbox Code Playgroud)

但最后,当我验证文件的字节时,Windows告诉我它是4bytes文件!而不是3bits!

如果有可能,我怎么能这样做?非常感谢.

c binary file

26
推荐指数
4
解决办法
2万
查看次数

阶乘递归算法的复杂性

今天在课堂上我的老师在黑板上写下了这个递归因子算法:

int factorial(int n) {
   if (n == 1) 
       return 1;
   else 
       return n * factorial(n-1);
}
Run Code Online (Sandbox Code Playgroud)

她说它有成本T(n-1) + 1.

然后用迭代法她说T(n-1) = T(n-2) + 2 = T(n-3) + 3 ... T(n-j) + j,所以算法停止的时候n - j = 1,所以j = n - 1.

之后,她取代jT(n-j) + j,并获得了T(1) + n-1.

她直接说那个n-1 = 2 (log 2 n-1),所以算法的成本是指数的.

我真的失去了最后两步.可以请有人向我解释一下吗?

complexity-theory big-o factorial

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

单元测试Asp.Net WebApi:如何使用[FromUri]参数测试方法的正确路由

我想测试一下这个控制器:

[HttpGet]
public IList<Notification> GetNotificationsByCustomerAndId([FromUri] string[] name, [FromUri] int[] lastNotificationID)         
{
    return _storage.GetNotifications(name, lastNotificationID, _topX);
}
Run Code Online (Sandbox Code Playgroud)

特别是,在这个方法中,我想测试传入输入的数组以形成请求Url,是进入的相同数组routeData.Values.如果对于单值参数(不是数组),它可以工作,但不适用于数组.如果我调试Values我只看到controlleraction.

[TestMethod]
public void GetNotificationsByCustomerAndId_ArrayOverload_Should_Match_InputParameter_name()
{
    string[] _testName = new string[] { _testCustomer, _testCustomerBis };

    string Url = string.Format(
           "http://www.testpincopallo.it/Notifications/GetByCustomerAndLastID/customersNotificationsInfos?name={0}&name={1}&lastNotificationID={2}&lastNotificationID={3}",
           _testName[0], _testName[1],
           _testNotificationID, _testNotificationIDBis);

    IHttpRouteData routeData = GetRouteData(Url);
    routeData.Values["name"].Should().Be(_testName);
}
Run Code Online (Sandbox Code Playgroud)

在传递数组时,还有另一种单元测试方法吗?

c# asp.net unit-testing asp.net-web-api

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

Qt编译错误:"内存不足分配134 MB""找不到cc1plus.exe"

我正在开发一款需要很多不同小图片的Windows游戏,我把它们放在resources.qrc中,它们都是tot.14 MB.

当我尝试编译唯一的错误是:"内存不足分配134 MB""找不到cc1plus.exe".

我怎么处理这个?

c++ qt

8
推荐指数
3
解决办法
8662
查看次数

Microsoft"WinForms Series 1:Graphics Device"出现错误

我对这个样本疑问.我刚下载并运行它(Visual Studio 2010).我没有触及任何东西.在此输入图像描述

对不起语言,它是意大利语.它从上到下说:

  • 为了避免在加载设计器窗口之前丢失信息,有必要解决这些错误:
  • 无法将设计器Windows可视化为文件,因为无法设计类.设计器实用程序已经检查了这些类:SpinningTriangleControl --- 无法加载其基类 "WinFormsGraphicsDevice.GraphicsDeviceControl".验证是否存在对程序集的引用以及是否已生成所有项目.
  • 下面说的一样

注意:

  • 如果我编译并运行,它的工作原理.
  • 在ide的工具栏中,有时候(我什么时候不知道),有两个用样本创建的控件,SpinningTriangleControl和SpriteFont; 有时他们会消失.发生这种情况时,控件也会从项目的MainWindow表单中删除!
  • 我不知道它是否重要,但我注意到控件经常消失并从xxx.designer.cs我添加一些新控件(例如toolstripmenu等)时删除自己,或者我为一些控件添加一些新的事件处理程序.

我真的不明白发生了什么.

由JT编辑:repro在这里:sdrv.ms/1kIhI5o

Repro步骤:

打开解决方案
选择flowLayoutPanel1控件
运行应用程序
停止应用程序
现在尝试选择gameWrapper!

结果:
无法再选择gameWrapper控件,它甚至不会显示在表单控件的Property Windows下拉列表中!

c# xna winforms

8
推荐指数
1
解决办法
462
查看次数

如何在表单中呈现对象时"可伸缩"

我在Winform中以与此示例相同的方式呈现我的游戏:WinForms Series 1:Graphics Device

在我的游戏中,我有一些对象,例如我已经可以放置和移动的矩形,在我的游戏世界中,一旦创建.我的项目是一个关卡编辑器.

我想做的是让每个对象"相当大"或"可扩展"(对不起,如果这不是正确的单词),就像我们常用的每个软件一样,我的意思是: 在此输入图像描述

我有一个类:

public abstract class GameObject
{
    protected Vector2 position_ = Vector2.Zero;
    protected float rotation_ = 0.0f;
    protected Vector2 scale_ = Vector2.One;
    protected float depth_ = 0.0f;

    protected bool is_passable_ = true;

    protected GameObject(
        Vector2 starting_position)
    {
        this.position_ = starting_position;
    }

    [DisplayName("Position")]
    public virtual Vector2 Position
    {
        get { return position_; }
        set { position_ = value; }
    }

    [BrowsableAttribute(false)]
    public abstract Rectangle PositionRectangle
    {
        get;
    }

    [BrowsableAttribute(false)]
    public abstract Rectangle SelectionRectangle …
Run Code Online (Sandbox Code Playgroud)

c# xna visual-studio-2010 winforms xna-4.0

8
推荐指数
1
解决办法
490
查看次数

在没有测试整个应用程序的情况下,有没有办法让UnitTest成为类库(通用Windows)?

我需要UnitTest a Class Library (Universal Windows),但是从"添加新项目"窗口,我只看到这个:

在此输入图像描述

该项目使用App Container运行所有测试,它始终打开一个App.由于我不需要所有这些开销,我想知道是否有单元测试UWP库的方法.

c# unit-testing visual-studio-2015 uwp

8
推荐指数
1
解决办法
1488
查看次数

.NET async/await:在这种情况下我应该返回一些东西吗?

在这种情况下,由于某些条件,我的任务可以立即返回:

public async Task Test(List<int> TestList)
{
    if (TestList.Count() == 0)
        return;

    // Do something
    await UploadListAsync(TestList);
}
Run Code Online (Sandbox Code Playgroud)

它是正确的return;,我应该使用Task.FromResult(false);,还是有更正确的方法?

c# async-await

8
推荐指数
1
解决办法
122
查看次数

ListView SelectedItems绑定:为什么列表始终为null

我正在使用Mvvm Light和Behaviors SDK开发UWP应用程序.我定义了一个多选ListView:

<ListView
    x:Name="MembersToInviteList"
    IsMultiSelectCheckBoxEnabled="True"
    SelectionMode="Multiple"
    ItemsSource="{Binding Contacts}"
    ItemTemplate="{StaticResource MemberTemplate}">

</ListView>
Run Code Online (Sandbox Code Playgroud)

我希望,通过绑定到MVVM-Light RelayCommand的按钮,获取包含所选项目的列表:

<Button
    Command="{Binding AddMembersToEvent}"
    CommandParameter="{Binding ElementName=MembersToInviteList, Path=SelectedItems}"
    Content="Ok"/>
Run Code Online (Sandbox Code Playgroud)

RelayCommand(MVVM-Light框架):

private RelayCommand<object> _addMembersToEvent;
public RelayCommand<object> AddMembersToEvent
{
    get
    {
        return _addMembersToEvent
            ?? (_addMembersToEvent = new RelayCommand<object>(
               (selectedMembers) =>
               {
                   // Test
                   // selectedMembers is always null!
               }));
    }
}
Run Code Online (Sandbox Code Playgroud)

我在命令中放了一个断点,我注意到selectedMembers总是null,虽然我选择了各种项目.通过控制台输出我没有看到任何绑定错误或其他.

另外,如果我作为CommandParameter传递整个列表,并在命令的定义中放置断点,我注意到我无法访问SelectedItems和SelecteRanges值.

<DataTemplate x:Name="MemberTemplate">

    <Viewbox MaxWidth="250">
        <Grid Width="250"
              Margin="5, 5, 5, 5"
              Background="{StaticResource MyLightGray}"
              BorderBrush="{StaticResource ShadowColor}"
              BorderThickness="0, 0, 0, 1"
              CornerRadius="4"
              Padding="5">

            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" …
Run Code Online (Sandbox Code Playgroud)

c# xaml binding mvvm-light uwp

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