小编The*_*yer的帖子

矢量迭代器<或!=

谁能帮助我了解是否有一个很大的区别!=,并<当谈到谈论内矢量迭代for循环?

我的意思是,无论你使用!=<,结果应该是一样的吗?

for (vector<int>::iterator i = vec.begin(); i != vec.end(); i++)
    // DO STUFF
Run Code Online (Sandbox Code Playgroud)
for (vector<int>::iterator i = vec.begin(); i < vec.end(); i++)
    // DO STUFF
Run Code Online (Sandbox Code Playgroud)

我知道最常用的方法是使用!=,但<如果使用会是一个大问题吗?

c++ iterator vector

30
推荐指数
3
解决办法
2494
查看次数

Swagger 响应描述未显示

我目前正在尝试在 Swagger UI 中显示特定响应的描述,但似乎没有一个文档真正涵盖了该响应的所有方面,以及我在Swashbuckle 和 ASP 入门中尝试过的所有示例。 NET Core不适用于 .NET Core 3.1...

        /// <summary>
        /// Test route...
        /// </summary>
        /// <returns></returns>
        /// <response code="200">This is a test</response>
        [HttpGet]
        [ProducesResponseType(typeof(string), StatusCodes.Status200OK)]
        public IActionResult Get()
        {
            return Ok("Hello World");
        }
Run Code Online (Sandbox Code Playgroud)

我的 .csproj 还包含以下内容:

  <PropertyGroup>
    <GenerateDocumentationFile>true</GenerateDocumentationFile>
    <NoWarn>$(NoWarn);1591</NoWarn>
  </PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

Swagger UI 最终看起来像这样(正如您所看到的,“Descriptipn”列不包含“这是一个测试”文本,因为它可能应该包含在内)。我错过了什么吗?

图片预览

我也添加了[SwaggerResponse(StatusCodes.Status200OK, ...)]它,但没有任何改变。

c# swagger swagger-ui .net-core

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

shared_ptr到一个数组

如何动态分配shared_ptr指向的"n个元素"?

我能够创建一个共享指针指向的静态数组,但我希望用户输入一个数字,然后分配n个元素.

shared_ptr<int[10]> p = make_shared<int[10]>();
Run Code Online (Sandbox Code Playgroud)

c++ c++11

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

UriBuilder - 删除端口

我想根据一些字符串值构建一个 Uri,但我想避免在调用时显示端口.ToString()

var uriBuilder = new UriBuilder("http://www.google.co.uk/")
{
    Path = "test"
};
Run Code Online (Sandbox Code Playgroud)

下面的代码输出http://www.google.co.uk:80/test而不是http://www.google.co.uk/test. 有没有办法不将端口包含在最终字符串中,或​​者我是否必须使用其中一种解决方法(例如new Uri(new Uri(baseUrl), relativePath)

c#

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

shared_ptr <>到数组自定义删除器(使用make_shared)

是否可以对shared_ptr <>指向的数组使用make_shared和自定义删除器(下面是我尝试通过构造函数执行此操作的方式,但我不知道如何通过使用make_shared工作)?

int n = 5;
shared_ptr<int> a(new int[n], default_delete<int[]>());
Run Code Online (Sandbox Code Playgroud)

我想让它看起来像是类似的东西,但是为int数组分配内存并且还有一个自定义删除器.那可能吗?

int n = 5;
shared_ptr<int> a;
a = make_shared<int>();
Run Code Online (Sandbox Code Playgroud)

c++ arrays shared-ptr

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

CSS - 始终将 div 放在同一个位置

我一直在寻找一种方法,可以将 2 个 div 始终放在同一个地方,无论访问者的分辨率有多大不同。所以,我使用了一个大小固定的背景图像(所以它总是在每个分辨率上完全显示),并且无论分辨率是多少,我都希望在特定位置放置 2 个 div。

例如,如果我使用了 mario 背景(例如这个)并且我想在管道上放一只食人鱼,那么它总是在每个分辨率的管道上。

有没有办法做到这一点?

html css fixed

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

.NET Core 键控依赖注入

Unity、Autofac 以及可能还有相当多的其他依赖注入包都支持“键控依赖注入容器”,允许注册接口的多个实现并通过键(无论是字符串、整数、枚举还是其他任何形式)唯一地标识它们)。

然而,到目前为止我至少可以看到,.NET Core 没有这样的功能,如果我要尝试实现这样的功能,我必须采取解决方法找到一些 hacky 解决方案。我想知道,是否有特殊原因没有在 .NET Core 中引入?

统一示例:

     container.RegisterType<IService, ServiceImplementation1>("1");
     container.RegisterType<IService, ServiceImplementation2>("2");
Run Code Online (Sandbox Code Playgroud)

Autofac 示例:

     builder.RegisterType<ServiceImplementation1>().Keyed<IService>("1");
     builder.RegisterType<ServiceImplementation2>().Keyed<IService>("2");
Run Code Online (Sandbox Code Playgroud)

dependency-injection .net-core

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

没有通过 GetAwaiter().GetResult()

我的代码内部有一个 PostAsync 方法,它似乎永远不会返回响应。但是,我通过 同步使用它.GetAwaiter().GetResult()。目标框架是net45.

public async Task<TResponse> PostAsync<TResponse, TRequest>(string method, TRequest body)
{
    _logger.Log($"Method {method}, body {JsonConvert.SerializeObject(body)} on url {_configuration.ApiUrl}");
    using (var customDelegatingHandler = new HMACDelegatingHandler(_configuration, _apiId))
    {
        using (var client = new HttpClient(customDelegatingHandler))
        {
            var response = await client.PostAsync($"{_configuration.ApiUrl}/{method}",
                new StringContent(JsonConvert.SerializeObject(body), Encoding.UTF8, "application/json"));

            if (response.StatusCode == HttpStatusCode.OK)
            {
                var content = await response.Content.ReadAsStringAsync();

                return JsonConvert.DeserializeObject<TResponse>(content);
            }
            else
            {
                await Log(body, response);
            }
            return default;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我所做的是在另一个方法中调用 PostAsync:

public async Task<decimal> GetBalance(Request request)
{ …
Run Code Online (Sandbox Code Playgroud)

c# .net-4.5 asp.net-4.5

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

C++ 17 - 修改const值

因此,截至目前,似乎无法在C++中实际修改"const"值(在VS 2017中测试).

const int a = 5;
int* ptr = (int*)&a; // Method 1
*((int*)(&a)) = 6; // Method 2
int* ptr = const_cast<int*>(&a); // Method 3
*ptr = 55;
cout << a << "\t" << &a << endl;
cout << *ptr << "\t" << ptr << endl;
Run Code Online (Sandbox Code Playgroud)

结果:

5  SOMEMEMORYADDRESS
55 SOMEMEMORYADDRESS
Run Code Online (Sandbox Code Playgroud)

任何人都知道还有什么可以尝试达到效果?真的好奇如何有2个值的1个内存地址(至少根据控制台).

请注意:对于较旧的C++版本,有类似的主题(过去他们曾经工作过 - 但他们不再这样做了).

c++ const

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